我这里有一个简单的do while
循环。我唯一的问题是这个循环现在只接受数字。我需要它接受除空白输入之外的所有内容。
import java.util.Scanner;
public class Assignment6 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean notValid = true;
int numberAsInt = 0;
do {
try {
System.out.print("Enter a number to Convert > ");
String number = scan.nextLine();
numberAsInt = Integer.parseInt(number);
notValid = false;
}
catch (Exception e) {
}
} while (notValid);
}
}
答案 0 :(得分:1)
您可以执行以下操作:
String number = readLine("Enter a number to Convert > ");
while(number.isEmpty()){
number = readLine("Please enter a *non-blank* number > ");
}
答案 1 :(得分:1)
我对你的问题感到有点困惑,因为你正在解析你的代码中的结果,但我希望这就是你所要求的:
public class Assignment6 {
public static void main(String[]args){
Scanner scan = new Scanner( System.in );
boolean notValid = true;
String input;
do{
System.out.print( "Enter a number to Convert > " );
input = scan.nextLine( );
if(!input.isEmpty())
notValid = false;
} while ( notValid );
}
}
答案 2 :(得分:0)
这里我们比较输入的值是否为空格而不是有效
try {
System.out.print( "Enter a number to Convert > " );
String number = scan.nextLine( );
if(number.equals(" "))
{
notValid = ture;
sysytem.out.println(" Please do not enter blank space");
}
else
{
numberAsInt = Integer.parseInt(number);
notValid = false;
}
}
答案 3 :(得分:0)
在代码中使用此代码段:
if(number.trim().equals(""))
{
notValid = ture;
sysytem.out.println(" Please do not enter blank space");
}