2015-07-12 81 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