2015-07-12 80 views
-6

我有字符串數組char[] onlyArr={'A','B','C','D','1','2','3','4'}; 我該如何解決這個問題?如何從字符數組中打印字符和整數

A,1 
B,2 
C,3 
D,4 

的語法[letter][number]

+0

你沒有一個字符串數組,但是要清除一個char數組,但是,你還必須保存數字嗎? –

+0

同感...更正..感謝:) –

+0

它不是一個字符串數組 – jondiaz

回答

3

你真的應該做你自己先搜索一下(如果你有,展示證據)。但是,這是一個解決方案。

int halfLength = onlyArr.length/2 + (onlyArr.length % 2); 
for(int i = 0; i < halfLength; i++){ 
    System.out.printf("%c,%d%n", onlyArr[i], (int)(onlyArr[i + halfLength] - 48)); 
} 

當打印整數,則必須減去從字符的「0」(48)的ASCII值,然後將結果轉換爲int。

halfLength的分配可能會被優化,但是這段代碼會做你想做的事情。

0

您可以從左邊和右邊同時在onlyArr啓動,並相應地打印:

char[] onlyArr={'A','B','C','D','1','2','3','4'}; 

int n=onlyArr.length; 
int i=0,j=(n)/2; 

while(i<n/2) 
{ 
    System.out.println(onlyArr[i]+""+onlyArr[j]); 
    i++;j++; 

} 
1

假設定義char[] array={'A','B','C','D','1','2','3','4'};,現在我明白你想要的元素彼此之間,現在有關聯的例如,我會做這樣的事情,

// Arrays are fixed-length and here we also know the sequence 
// Individual judgment is anyway required to establish the right pattern 

for (int i = 0; i< array.length/2; i++) 
    System.out.println(array[i]+","+array[i+4]); 
+0

好的答案。像我認爲的... –

-1

如果你想寫一個數組的值的語法是這樣的:

String[] myString = {1, 2, 3} 
System.out.println(myString[0]); 
// OUTPUT-> 1. Be careful. Position 0 it is the first in all arrays 
System.out.println(myString[1]); // OUTPUT -> 2 
// ..... 

要打印所有的值,你應該使用foreach循環:

for(String temporary_var: onlyArr){ 
    System.out.println(temporary_var); 
} 

的foreach是短形式陣列工作,因爲你避免創建計數器。這將是相同的:

for(count = 0; count < onlyArr.length; count++){ 
    System.out.println(onlyArr[count]); 
} 

如果你想寫這樣的:1,A 2,B。3,C ...你可以使用一個正常的循環:

for(count = 0; count < onlyArr.length; count++){ 
    System.out.println(v + ", " + onlyArr[count]); 
} 
+1

檢查第一個代碼片段的語義和語法。它甚至不是有效的Java。 – SamTebbs33