【发布时间】:2021-01-09 23:36:36
【问题描述】:
大家好,我的代码需要帮助。我试图了解如何使用方法、循环、if-else 语句和退出代码。所以我正在根据用户的选择编写一个简单的计算,但现在我不知道如何在用户输入不是数字 (意味着不允许使用字母)时让输入读取以循环回em> 它将继续返回选项,直到用户输入正确的选项,即 1 或 2。
如果我犯了任何错误,或者有办法进一步简化此代码,请告诉我。
想要这样的输出:-
[1] Calculation [2] Exit Your choice: a Please choose only 1 or 2 [1] Calculation [2] Exit Your choice: 1 Enter 1st number: 1 Enter 2nd number: 1 Total: 2
代码:-
import java.util.Scanner;
public class Testing {
int ans;
boolean Loop = true;
public void SimpleCalculation() {
Scanner input = new Scanner(System.in);
while (Loop) {
System.out.println("[1] Calculation ");
System.out.println("[2] Exit");
System.out.print("Your choice: ");
ans = input.nextInt();
if (ans == 1) {
System.out.print("Enter 1st number: ");
int number1 = input.nextInt();
System.out.print("Enter 2nd number: ");
int number2 = input.nextInt();
int result = number1 + number2;
System.out.println("Total: " + result);
} else if (ans == 2) {
System.out.println("Thank you");
input.close();
break;
} else {
System.out.println("Please choose only 1 or 2");
}
}
System.exit (0);
}
public static void main(String[] args) {
Testing t = new Testing();
t.SimpleCalculation();
}
}
【问题讨论】:
-
嗯,我为这样的输入制作了一些简单的实用功能,但是对于您的问题来说,这将是一个矫枉过正的问题。这个问题很简单,你可以自己解决,这里有一个简单的教程来帮助你:geeksforgeeks.org/scanner-class-in-java/….
-
Scanner.hasNextInt 告诉您输入是否为整数。如果返回 false,您可以要求用户重新输入。
-
Scanner.hasNextInt 没听说过
-
但是谢谢你让我先试试@user
-
啊,我应该把它放在哪里,因为如果我把它放在 if-else 条件语句中它会给我错误,当我把它放在 else 时它没有读取,当我把它在while循环条件下它什么都不显示? @用户
标签: java loops if-statement methods exit