简短的问题:万一出现问题,如何返回到代码的开头?
更详细一点:在我的代码末尾,我有一个名为“tulemus”的 int 变量。我希望它告诉我“Tulemus 错了,请再试一次!”如果(tulemus < 0 && tulemus > 110)
为 true,并且还返回到用户输入数字的行( System.out.println("Sisesta 1. iseseisva töö tulemused(0-20 punkti): "); String str = input.readLine();
),以允许重新执行此操作而无需重新启动程序。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Yl1osaB {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ylesanne 1 RASMUS RIKKEN 25/11/2016");
System.out.println("Sisesta oma nimi:");
String nimi = input.readLine();
System.out.println("Sinu nimi:" + nimi);
System.out.println("Sisesta 1. iseseisva töö tulemused(0-20 punkti): ");
String str = input.readLine();
int number1 = Integer.parseInt(str);
if (number1 > 20) {
System.out.println("Sisestatud number on suurem kui max tulemus.");
} else if (number1 < 0) {
System.out.println("Sisestatud number on väiksem kui min tulemus.");
}
System.out.println("Sisesta 2. iseseisva töö tulemused(0-20 punkti): ");
String str2 = input.readLine();
int number2 = Integer.parseInt(str2);
System.out.println("Iseseisev 1 ja 2 tulemused:" + (number2 + number1));
if (number2 > 20) {
System.out.println("Sisestatud number on suurem kui maxtulemus.");
return;
} else if (number2 < 0) {
System.out.println("Sisestatud number on väiksem kui min tulemus.");
return;
}
System.out.println("Sisesta 3. iseseisva töö tulemused(0-20 punkti): ");
String str3 = input.readLine();
int number3 = Integer.parseInt(str3);
System.out.println("Iseseisev 1 ja 2 ja 3 tulemused:" + (number2 + number1 + number3));
if (number3 > 20) {
System.out.println("Sisestatud number on suurem kui max tulemus.");
return;
} else if (number3 < 0) {
System.out.println("Sisestatud number on väiksem kui min tulemus.");
return;
}
System.out.println("Sisesta koduste tööde punktid(max 10 punkti): ");
String str4 = input.readLine();
int number4 = Integer.parseInt(str4);
System.out.println("Iseseisev 1 ja 2 ja 3 ja koduste ül. tulemused:" + (number2 + number1 + number3 + number4));
if (number4 > 10) {
System.out.println("Sisestatud number on suurem kui max tulemus.");
return;
} else if (number4 < 0) {
System.out.println("Sisestatud number on väiksem kui min tulemus.");
return;
}
System.out.println("Sisesta eksami punktid(max 40 punkti): ");
String str5 = input.readLine();
int number5 = Integer.parseInt(str5);
System.out.println("Iseseisev 1 ja 2 ja 3 ja koduste ül. ja eksami tulemused:"
+ (number2 + number1 + number3 + number4 + number5));
if (number5 > 40) {
System.out.println("Sisestatud number on suurem kui eksami max tulemus.");
return;
} else if (number5 < 0) {
System.out.println("Sisestatud number on väiksem kui eksami min tulemus.");
return;
}
int tulemus = 0;
tulemus = number1 + number2 + number3 + number4 + number5;
if (tulemus > 0 && tulemus < 50) {
System.out.println("Tulemus on " + tulemus + ", mis on alla 50 punkti, Aine on mittearvestatud.");
} else if (tulemus <= 110) {
System.out.print("Kokku on " + tulemus + " punkti. Aine on arvestatud!");
}
if (tulemus <= 110 && tulemus >= 91) {
System.out.print(" Suurepärane!");
}
else if (tulemus <= 90 && tulemus >= 81) {
System.out.print(" Väga hea!");
}
else if (tulemus <= 80 && tulemus >= 71) {
System.out.print(" Hea!");
}
else if (tulemus <= 70 && tulemus >= 61) {
System.out.print(" Rahuldav!");
}
else if (tulemus <= 60 && tulemus >= 51) {
System.out.print(" Kasin!");
} else if (tulemus <= 50 && tulemus >= 0) {
System.out.print(" Puudulik!");
}
} // MAIN
} // CLASS
最佳答案
学习Java语言,你会发现while循环或者do-while循环就是你想要的。只需在循环之前定义 tulemus 即可在条件中检查它,或者在循环外部定义一些您在循环内相应设置的 boolean 值,或者使用 while(true) { }
进行无限循环然后使用 break;
退出循环如果您的失败条件不匹配。
除此之外(tulemus < 0 && tulemus > 110)
永远是false
.
所以类似
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Yl1osaB {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ylesanne 1 RASMUS RIKKEN 25/11/2016");
while (true) {
// your code
if(tulemus < 0 || tulemus > 110) {
System.out.println("Tulemus is wrong, please try again!");
}
else {
break;
}
}
} // MAIN
}
关于java - 如果出现问题,我怎样才能返回到程序的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803896/