0
这个算法做出了船的路线比作很多其他ships.I都知道哪些船舶不跨过第一one.I的路径想象,告诉其船来解决这个与坐标系中的第一条船的路线没有公共坐标。Java循环控制
第一回路计数其他船只,我比较第一个。
第二个循环统计实际船舶(与第一个船舶相比)的每个运动(从中建立船舶的路径)。每个运动有2个坐标。
第三回路应将其他船舶的坐标(由第二个回路给出)与第一艘船进行比较。
在第三圈,我给一个条件:如果两个坐标等于其路径的第一船的COORDS,整个该死的东西应该再次从第一个循环,这意味着其他船舶计数开始。 (继续关键字)
如果第二个循环可以结束,我将优胜船的索引添加到我的ArrayList'goodships'。
问题:没有船只被添加到ArrayList,虽然我的输入坐标肯定有从第一艘船的COORDS不同。
ArrayList<Integer> goodships = new ArrayList<>();
first: for (int i = 1; i < control.size(); i++) {
char[] actdirections = control.get(i).toCharArray();
int[] actualship = new int[2];
second: for (int j = 0; j < actdirections.length; j++) {
if (actdirections[j] == 'E') {
actualship[0]--;
} else if (actdirections[j] == 'D') {
actualship[0]++;
} else if (actdirections[j] == 'N') {
actualship[1]--;
} else if (actdirections[j] == 'K') {
actualship[1]++;
}
third: for (int x = 0; x < firstship.length; x++) {
if ((actualship[0] == firstship[x][0])
&& (actualship[1] == firstship[x][1])) {
continue first;
}
}
}
goodships.add(i);
}
你在阵列'actualship'期待什么样的价值观?还有,为什么你在第一个循环中设置了“i = 1”?你确定数组'actdirections'总是有大写的值(E/D/N/K)吗? – Arvind
调试器中会发生什么?逻辑是否像你期望的那样流动? –
是尝试使用调试器或简单的使用'的System.out.println(“东西”)'在不同的点,并尝试调试 – Noober