[英]How to do scanner exception in Java?
我想扫描一个浮点数和一个整数。 我想添加一个例外,如果扫描的数字不是浮点数或整数,请在输入数字不正确的情况下再次扫描。 我尝试过hasNextFloat
和hasNextInt
但是我并没有真正正确。
package has_exception;
import java.util.Scanner;
public class Has_Exception {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.println("Enter a float!");
float fl = scn.nextFloat();
System.out.println("Enter an integer");
int a = scn.nextInt();
}
}
尝试将字符串解析为float并执行此操作,直到用户提供有效的输入为止。float的初始值将取决于您的应用程序,您可以对整数值重复此方法
Scanner scn = new Scanner(System.in);
float fl = -1.0f;
while (fl < 0) {
System.out.println("Enter a float!");
String x = scn.nextLine();
try {
fl = Float.parseFloat(x);
} catch (NumberFormatException e) {
System.out.println("Not a float");
}
}
您可以将do{..}while()
与nextLine()
使用,例如:
Scanner scn = new Scanner(System.in);
boolean correct = true;
do {
try {
System.out.println("Enter a float!");
float fl = Float.parseFloat(scn.nextLine());
System.out.println("Enter an integer");
int a = Integer.parseInt(scn.nextLine());
} catch (NumberFormatException e) {
correct = false;
}
} while (!correct);
scn.close();//close your scanner
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.