当用户按下Enter键或空格键而不是字符串时,我想打印一条错误消息。我已经尝试过isEquals(“”)和isEmpty(),但是还没有找到任何有效的方法。
这是我的代码:
import java.util.Scanner;
public class check{
public static void main(String args[]){
System.out.println("Enter a number: ");
Scanner keyboard = new Scanner(System.in);
String input = keyboard.next();
if(input.equals("")){
System.out.println("Empty");
} else {
System.out.println("number inputed");
}
}
}
答案 0 :(得分:0)
一种方法,将keyboard.next()
更改为keyboard.nextLine()
,使用trim()
删除不必要的空格,并使用isEmpty()
进行检查。
String input = keyboard.nextLine().trim();
if (input.isEmpty()) {
// error message
} else {
// good to go
}
答案 1 :(得分:0)
import java.util.Scanner;
public class check{
public static void main(String args[]){
System.out.println("Enter a number: ");
Scanner keyboard = new Scanner(System.in);
String input = keyboard.nextLine();
if(input.trim().equals("")){
System.out.println("Empty");
} else {
System.out.println("number inputed");
}
}
}
答案 2 :(得分:0)
要检查字符串输入是否为空,可以使用String.isEmpty()
方法。看下面:
String input = keyboard.nextLine();
if(!input.isEmpty()) {
//the input is not empty!
}
else {
//the input is empty!
}
但是请注意,由于您希望接收数字作为输入,因此不应将其作为字符串检索。以下是程序从用户检索double
的示例。 Scanner
提供了许多验证用户输入的方法。在这种情况下,我使用hasNextDouble()
检查输入是否为数字。
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a number:");
while(!scanner.hasNextDouble()) {
System.out.println("That's not a number!");
scanner.next();
}
double numberInput = scanner.nextDouble();
System.out.println("The entered number was " + numberInput);
答案 3 :(得分:0)
奇怪的是,运行您的代码时没有出现错误。但是,我注意到您的代码根本不会对空输入做出反应(只需按Enter键)。如果要检查,可以使用keyboard.nextLine()。
从其余的代码来看,似乎您希望用户仅输入数字。如果您使用Scanner,检查用户是否输入整数的简单方法是keyboard.hasNextInt()。
这意味着您可以执行以下操作:
if(keyboard.hasNextInt()) {
int yourNumber = keyboard.nextInt();
System.out.println("Your number is: " + your Number);
}
else {
System.out.println("Please enter a valid integer");
}
答案 4 :(得分:0)