java中的if语句数组成对匹配也会在两个相似的元素之间存储数据
我有两个数组。它们分别表示x坐标和y坐标。代码是这样的:如果两个坐标相同,则打印一条语句“两个坐标相同”,否则打印的语句不相同
我的代码是
public static void main(String args[]){
double[]xcoordinate={2.3,1.2,3.3,5.5,2.3,1.3,7.9,1.2,3.3,3.3,5.2};
double[]ycordinate={5.4,2.2,4.4,6.6,5.4,1.9,5.2,2.2,3.5,4.4,4.2};
int i=0,k=1;
while(i<xcoordinate.length){
//if(xcoordinate[i]&&ycordinate[i]==xcoordinate[k]&&ycordinate[k]){
if(xcoordinate[i]==xcoordinate[k]&&ycordinate[i]==ycordinate[k]){
System.out.println("Both co ordinates are same");
i++;
if(k<xcoordinate.length) {
k = i + 1;
}
}
else{
System.out.println("They are not same");
}
k++;
}
}
如果我分析数组,我可以看到2.3和5.4是成对的,1.2和2.2是成对的,依此类推。如你们所见,2.3和5.4在第五对重复。因此,在这一次,它们打印的是相同的
但是该if语句的代码块不会运行
错误:线程“main”java中出现异常。lang.ArrayIndexOutofBounds异常:11
如何消除此错误,以及如何存储不同类型的数据
就像要存储{1.2,3.3,5.5}和{2.2,4.4,6.6}和{3.3,5.5,2.3,1.3,7.9}和{4.4,6,5.4,1.9,5.2}。。。。。分开
# 1 楼答案
除了解决您的评估问题的Simion给出的答案之外,您是否会有一个enless循环,因为当您的数字相同时,您只会增加i(i++)
# 2 楼答案
您需要更改,但出现语法错误:
如果表达式的计算结果与编码不符
编辑2:以下是完整的可行代码:
编辑3:相同的功能,使用while循环,正确的操作方式:
# 3 楼答案
我相信你是在跟踪重复的坐标, 如果是,那么这可能会有所帮助