2015-10-25 52 views
0

所以我要製作,將有7行的「位模式。我無法繪製與1和0的任何信件,而我只能用ifelse陳述,parse.IntcompareTo作爲指令這個程序需要將每一個變成一個「X」,每一個變爲一個空格,有沒有一種特定的方式來做到這一點?現在它只是無休止地循環。 :印刷位模式

public static void main(String[] args) 
{ 
    String r1 = ("1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r2 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r3 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r4 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r5 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r6 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"); 
    String r7 = ("0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0"); 

    dr(r1); 
    dr(r2); 
    dr(r3); 
    dr(r4); 
    dr(r5); 
    dr(r6); 
    dr(r7); 
} 
public static void dr(String s) 
{ 
    int i = 0; 
    while(i < 1) 
    { 
    String[] tokens = s.split(" "); 
    if (tokens[0].compareTo("0") == 0) 
     System.out.println("X"); 
    else if (tokens[1].compareTo("1") == 1) 
     System.out.println(" "); 
    } 
} 
+1

爲什麼你需要打印0和1的任何特殊庫? – CrakC

+1

@CrakC我不需要特殊的庫。我將創建一個基本上繪製1和0的字母的位模式。 – NaughtyBear

+0

列數固定在19? – bezmax

回答

0

我會建議您指定每個字母的值(你的位),然後將它們存儲在一個數組...

我們需要代碼。

+1

謝謝您的建議!我會發布代碼,但到目前爲止,我所擁有的僅僅是數組集合和傳遞函數的方法。但是我所面對的問題實際上是用1和0來繪製,因爲必須設置邏輯。所以不管我輸入什麼信件,它都需要至少畫三個字母。 – NaughtyBear

+1

atleast 3個字母?爲什麼這樣?? – CrakC

1

做你的情況最簡單的方法是這樣的:

String data = "1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0"; 
String out = data.replaceAll("1,? ?","X").replaceAll("0,? ?", " ")); 
+0

這當然是一種很棒的方式!但我無法使用任何專業圖書館。 – NaughtyBear

+1

專業? 'replaceAll'是'String'類的一部分,沒有額外的庫。 – bezmax

+0

對不起,我錯過了。我的意思是我們不允許使用我們還沒有結束的元素。他還沒有完成這些要素,因此我陷入了困境。 compare和if/else語句是我們可以執行此程序的唯一方法。這是不幸的,但如事情的方式。 – NaughtyBear