缩短的问题:如果出现问题,如何返回代码的开头?
更详细一点:在我的代码末尾,我有一个名为“tulemus”的int变量。我想告诉我“Tulemus错了,请再试一次!”如果(tulemus < 0 && tulemus > 110)
为真,并且还返回到用户输入数字(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
答案 0 :(得分:2)
学习Java语言,然后你会发现while循环或do-while循环将是你所追求的。只需在循环之前定义tulemus以便能够在条件中检查它,或者在循环内部相应地设置循环之外定义一些布尔值,或者使用while(true) { }
进行无限循环,然后使用{{退出循环1}}如果您的失败条件不匹配。
此外break;
始终为(tulemus < 0 && tulemus > 110)
。
类似
false
答案 1 :(得分:1)
将所有内容放在while
循环中,并在循环外定义tumelus
或boolean
。
像
这样的东西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");
boolean startAgain = true;
while (startAgain) {
// your code
if(tulemus < 0 || tulemus > 110) {
System.out.println("Tulemus is wrong, please try again!");
}
else {
startAgain = false;
}
}
} // MAIN
}
或者更好的是,将startAgain = false
放入if
已有的tumelus
作为条件的一部分
答案 2 :(得分:0)
package org.cgi;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
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:");
int tulemus = 0;
do{
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;
}
tulemus = number1 + number2 + number3 + number4 + number5;
}while(tulemus <0 && tulemus > 110);
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
}