Java 比较字符数组并打印最低值
我编写这段代码是为了比较两个字符数组,每次打印较少的字符数组Java 比较字符数组并打印最低值,java,arrays,Java,Arrays,我编写这段代码是为了比较两个字符数组,每次打印较少的字符数组 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++){
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]);
}
}
}
公共类比较数组{
公共无效建筑阵列(){
char[]a={'a','b','c','d'};
char[]b={'l','f','a','g'};
char[]c=新字符[8];
对于(int i=0;i假设a,b的长度相同,您希望将a的每个元素与b的一个元素进行比较-因此您的迭代限制应为a的长度(或b的长度-此处假设相同)
如果它们的长度不同,则在较短的长度上迭代,然后只输出较长长度的剩余值。您可以简单地执行以下操作:
public class CompareCharArrays {
public void buildingArrays() {
char[] a = {'a','b','c','d'};
char[] b = {'l','f','a','g'};
for(int i=0 ; i<a.length ; i++)
System.out.println("Element from array " + (a[i] < b[i] ? "a : " + a[i] : "b : " + b[i]);
}
}
公共类比较数组{
公共无效建筑阵列(){
char[]a={'a','b','c','d'};
char[]b={'l','f','a','g'};
对于(inti=0;ic)而言,长度不需要为8,而需要为4。
你说的是c=a,但你的意思是c[i]=a[i]
纠正这两个错误会导致:
char[] a={'a','b','c','d'};
char[] b={'l','f','a','g'};
char[] c= new char[4];
for(int i=0; i<c.length;i++){
if(a[i]<b[i]){
c[i]=a[i];
System.out.println("Element from array a: "+c[i]);
} else {
c[i]=b[i];
System.out.println("Element from array b: "+c[i]);
}
}
char[]a={'a','b','c','d'};
char[]b={'l','f','a','g'};
char[]c=新字符[4];
因为(int i=0;i谢谢你们!我欠你们的。我认为这部分代码更接近于真正的结论:)
公共类比较数组{
公共空间比尔丁格里斯(){
char[]a={'a','b','c','d'};
char[]b={'l','f','a','g'};
对于(int i=0;i每次少一个是什么意思?您可能需要定义“少一个”(还要注意a[7]“我的程序有什么问题…”--好问题。我们应该猜猜吗?或者你打算告诉我们问题是什么?你根本不需要c
,它只是在你的代码中引入了ArrayOutOfBoundException
。不,兄弟们!我想比较这两个数组中的每个元素:例如a[0]和b[0]。如果a[0]小于b[0]我先打印较小的元素,然后打印较大的元素。您的答案被标记为低质量答案,请提供一些信息谢谢!问题是:此代码和前一个代码只给我4个字符。我需要全部8个字符。我如何才能做到这一点?也许我必须在第三个数组中包含这两个数组,然后比较元素一步一步?
public class CompareCharArrays {
public void biuldingArrays() {
char[] a={'a','b','c','d'};
char[]b={'l','f','a','g'};
for(int i=0; i<a.length;i++){
System.out.println("The first element is :"+(a[i] < b[i] ? "a : " + a[i]+" "+b[i] : "b : " + b[i]+ " "+ a[i]));
} }
}