所以我昨天开始学习java,我试图让用户输入“5”并继续重复,直到他/她得到它。为了防止程序在输入字符串时崩溃,我创建了if / else语句。一切正常,但是当一个人先输入一个int然后输入一个字符串后,它会重复提示“输入数字5:”两次! 我做错了什么?
import java.util.Scanner;
public class chakad {
public static void main(String[] args) {
int number = 1;
Scanner input = new Scanner(System.in);
while (number != 5) {
System.out.println("Enter the number 5: ");
if (input.hasNextInt()) {
number = input.nextInt();
} else {
System.out.println("woops");
input.nextLine();
}
}
System.out.println("YOU DID IT!");
input.delimiter();
}
}
答案 0 :(得分:0)
似乎可以正常修改您的代码:
if (input.hasNextInt()) {
number = input.nextInt();
} else if (input.hasNext()) {
System.out.println("woops");
input.next();
}
最诚挚的问候,
米歇尔。
答案 1 :(得分:-1)
您可以使用此代码来读取一行:
InputStreamReader fr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(fr);
try {
choice = br.readLine();
} catch (Exception e) {
e.printStackTrace();
}
当然你必须导入库:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
try-catch语句只是为了确保不会出现问题。 希望有所帮助