【发布时间】:2018-05-11 20:00:53
【问题描述】:
x[] 是第一学期,y[] 是第二学期。当只有一门课程在 x[] 中注册时,一切正常,但是当注册了 2 门课程时,if else 就搞砸了。 当x[]'长度大于一时,逻辑不起作用,但是这个数组y[]可以是任意长度,不影响逻辑。
public static void PreRequist(int x[],int y[]){
for (int i=0;i<y.length;i++){
if(y[i]==4){
for(int j=0;j<x.length;j++){
if(x[j]!=1){
toString(courseName(4),courseName(1));
}
}
}}}
【问题讨论】:
-
逻辑怎么不行。它有很多代码要查看并尝试破译。顺便说一句,如果你更好地格式化你的代码,它会变得更好。花括号未全部对齐。
-
我认为问题出在 '' if (x[j] != 1) '',正如我所说,当 x[] 的长度为 1 时,一切正常,但当它更多时超过一,toString 无论如何都会被调用。
-
什么值被传递到 x 和 y 中,为什么不应该在那个条件下调用 toString?仅查看您的代码并不清楚它应该做什么。
-
2 个数组被传递,数组中的每个数字代表一个课程。例如: y[] 可以有数字 4,直到 x[] 有数字 1。如果 x[] 中只有一个数字很好,但是当 x[] 中有 1,2,3 时,它进入条件语句每次。
-
我仍然不知道你在做什么。也许您想要的,在保持大部分代码不变的同时,最初将一个布尔变量设置为 false。在条件中将其设置为 true。循环后检查以查看值。如果是假字。如果为真 - 继续。
标签: java arrays sorting iterator iteration