我的程序一直跳回到我的第二个嵌套while循环,我想要做的是继续我的第三个嵌套while循环。我已尝试继续自己,继续标签“她”,如下所示,并尝试没有继续声明。每次程序跳转到第二个while循环时。
while((line = x.readLine()) != null){
tekst = line.split("\\s+");
if(tekst[0].equals(".PUNKT")||tekst[0].equals(".KURVE")
||tekst[0].equals(".FLATE")){
atrib = new String[100];
a = 0;
while(line != null){
if(line.equals("..NØH ")){
int []N = new int[10000];
int []Ø = new int[10000];
int []H = new int[10000];
line = x.readLine();
koord = line.split("\\s+");
i = 0;
her:while(isInteger(koord[0])){
System.out.println(koord[2]);
N[i] = Integer.parseInt(koord[0]);
Ø[i] = Integer.parseInt(koord[1]);
H[i] = Integer.parseInt(koord[2]);
i++;
line = x.readLine();
koord = line.split("\\s+");
if (koord[0].equals("..NØH ")){
line = x.readLine();
koord = line.split("\\s+");
continue her;
}
if(koord[0].equals(".PUNKT")||koord[0].equals(".KURVE")
||koord[0].equals(".FLATE")){
midl = line;
break;
}
}
答案 0 :(得分:1)
我认为它会回到第三个循环,因为"继续"是的,但条件isInteger(koord[0])
肯定是假的,因为如果koord[0].equals("..NØH ")
为真,那么koord[0]
不是数字,对吗?
答案 1 :(得分:0)
if语句仅在
时出现if(tekst[0].equals(".PUNKT")||tekst[0].equals(".KURVE")
||tekst[0].equals(".FLATE"))
那你怎么用语句
line.equals("..NØH ")
我认为这个程序会停留在while循环
while(line != null)
答案 2 :(得分:0)
看看这三行:
line = x.readLine();
koord = line.split("\\s+");
if (koord[0].equals("..NØH ")){
条件koord[0].equals("..NØH ")
永远不会成真。
koord[0]
将为“..NØH”(没有尾随空格!)koord[0]
会有所不同最内层while循环中的下一个if条件也未满足,因此跳过break语句。
下一个测试是最里面的while循环的条件:
while(isInteger(koord[0]))
由于line
是“..NØH”,koord[0]
不是整数,所以此循环终止。
这会让你回到中间循环的开头。