【发布时间】:2014-10-13 20:43:00
【问题描述】:
我编写这段代码是为了比较两个 char 数组并每次打印较少的一个。
public class CompareCharArrays {
public void buildingArrays() {
char[] a={'a','b','c','d'};
char[]b={'l','f','a','g'};
char[]c=new char[8];
for(int i=0; i<c.length;i++){
if(a[i]<b[i]){
c=a;
System.out.println("Element from array a: "+c[i]);
} else {
c=b;
System.out.println("Element from array b: "+c[i]);
}
}
}
我的程序出了什么问题,我该如何解决?提前谢谢你。
【问题讨论】:
-
每次少一个是什么意思?
-
您可能需要定义“少一个”(还要注意
a[7]<b[7]会受到伤害) -
“我的程序出了什么问题...” -- 好问题。我们应该猜测吗?还是您要告诉我们问题出在哪里?
-
你根本不需要
c,它只是在你的代码中引入一个ArrayOutOfBoundException。 -
不,兄弟们!我想比较这两个数组中的每个元素:例如 a[0] 和 b[0]。如果 a[0] 小于 b[0],我首先打印较小的元素,然后打印较大的元素。