如何重新启动java程序
我对java非常陌生,只是在玩一些基础知识。我做了一些计算器。(可能有更简单的计算器,只是用我想到的东西计算) 这是我的密码:如何重新启动java程序,java,switch-statement,application-restart,Java,Switch Statement,Application Restart,我对java非常陌生,只是在玩一些基础知识。我做了一些计算器。(可能有更简单的计算器,只是用我想到的东西计算) 这是我的密码: import java.util.Scanner; public class App { public static void main(String[] args) { Scanner input = new Scanner(System.in); double second; System.out.p
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double second;
System.out.println("Please tell me a number");
double first = input.nextDouble();
input.nextLine(); // Consume newline left-over
System.out.println("You chose the number " + first);
System.out
.println("Now please choose what you want to do with the number. ( divide, add, multiply or subtract )");
String text = input.nextLine();
switch (text) {
case "divide":
System.out.println("What do you want to divide your number " + first + " with?");
second = input.nextDouble();
double resultDivide = first / second;
System.out.println(first + " / " + second + " = " + resultDivide);
break;
case "add":
System.out.println("What do you want to add to your number " + first + "?");
second = input.nextDouble();
double resultAdd = first + second;
System.out.println(first + " + " + second + " = " + resultAdd);
break;
case "multiply":
System.out.println("What do you want to multiply your number " + first + " with?");
second = input.nextDouble();
double resultMultiply = first * second;
System.out.println(first + " * " + second + " = " + resultMultiply);
break;
case "subtract":
System.out.println("What do you want to subtract your number " + first + " with?");
second = input.nextDouble();
double resultSubtract = first - second;
System.out.println(first + " - " + second + " = " + resultSubtract);
break;
default:
System.out.println("Sorry, I did not quite understand that. Please try again.");
}
}
所以我的问题是:当它在switch case语句中达到默认值时,我能让程序从beginning重新启动吗
提前感谢。A
,而循环是您需要的。循环的输入条件将是默认值
情况。在循环中,您必须将以前使用过的这段代码放入循环中:
System.out.println("Now please choose what you want to do with the number. ( divide, add, multiply or subtract )");
String text = input.nextLine();
因此,它将继续请求输入,直到您没有得到一个默认值
案例。似乎您所要做的就是循环,直到用户指定了一个有效的操作。在这种情况下,您可以使用while循环,观察变量:
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double second;
System.out.println("Please tell me a number");
double first = input.nextDouble();
input.nextLine(); // Consume newline left-over
System.out.println("You chose the number " + first);
System.out
.println("Now please choose what you want to do with the number. ( divide, add, multiply or subtract )");
String text = input.nextLine();
boolean correctOperation = true;
do {
correctOperation = true;
switch (text) {
case "divide":
System.out.println("What do you want to divide your number " + first + " with?");
second = input.nextDouble();
double resultDivide = first / second;
System.out.println(first + " / " + second + " = " + resultDivide);
break;
case "add":
System.out.println("What do you want to add to your number " + first + "?");
second = input.nextDouble();
double resultAdd = first + second;
System.out.println(first + " + " + second + " = " + resultAdd);
break;
case "multiply":
System.out.println("What do you want to multiply your number " + first + " with?");
second = input.nextDouble();
double resultMultiply = first * second;
System.out.println(first + " * " + second + " = " + resultMultiply);
break;
case "subtract":
System.out.println("What do you want to subtract your number " + first + " with?");
second = input.nextDouble();
double resultSubtract = first - second;
System.out.println(first + " - " + second + " = " + resultSubtract);
break;
default:
System.out.println("Sorry, I did not quite understand that. Please try again.");
correctOperation = false;
text = input.nextLine();
}
} while(!correctOperation)
}
}
我认为您需要一个while循环,例如:
String text = input.readLine();
while(text != null) {
switch(...)
}
还有,我想给你一些建议:
- 如果输入的“文本”字符串为空,则应检查该字符串,如果“文本”字符串为空,则会遇到NullPointerException
- 如果你要用这么多的case语句,你必须考虑设计模式,链接是.
中断并继续可选地接受一个参数。您可以在代码的主要部分放置一个while
-或一个do…while
-循环。在代码周围放置一个do while循环,工作gr8,感谢您的回答!