Java 当代码意味着输入将始终处于浮动状态时,这会发生吗?while最后做了什么? 这是我输入的一部分
我希望用户只在float中输入,这意味着什么Java 当代码意味着输入将始终处于浮动状态时,这会发生吗?while最后做了什么? 这是我输入的一部分,java,while-loop,Java,While Loop,我希望用户只在float中输入,这意味着什么 Boolean start; do{ System.out.println("Enter value for Alpha:"); if(sc.hasNextFloat()){ al = sc.nextFloat(); start = true; } else{ System.out.println("Please enter a numb
Boolean start;
do{
System.out.println("Enter value for Alpha:");
if(sc.hasNextFloat()){
al = sc.nextFloat();
start = true;
} else{
System.out.println("Please enter a number");
start = false;
sc.next();
}
} while(!(start));
您可以使用以下代码解决问题:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter value for Alpha:");
while(true) {
if(sc.hasNextFloat()) {
float al = sc.nextFloat();
System.out.println(al);
break;
} else {
System.out.println("Enter a valid float");
sc.next();
}
}
sc.close();
}
以下是您的示例输出:
输入Alpha的值:
2.2.2.2
无效的
Enter value for Alpha:
2
Please enter a float. That was not a float.
Enter value for Alpha:
3.5
Float stored
在代码中,用户可以从技术上输入int,尽管在条件语句中有hasNextFloat()方法,但它仍将执行。我编辑了代码并将输入设置为字符串。因此,如果字符串中有一个十进制数,我们可以将其类型转换为浮点。如果没有十进制数,我们知道它不是浮点数,将要求额外的输入。现在,另一个因素是,如果您愿意,您可以将任何用户输入类型转换为float。设置try-catch块可能也是一个好主意,这样您就可以处理可能输入无效号码的用户 乍一看,我认为您已经实现了要求使用输入“float”的目标。有什么问题吗?如果您不关闭
系统.in
或(out,err),程序退出时它将被关闭。
Enter value for Alpha:
2
Please enter a float. That was not a float.
Enter value for Alpha:
3.5
Float stored