Java 如何检查输入是否为整数
我正在制作一个程序,该程序将询问用户的int输入,并检查用户输入是否为整数。如果没有,程序会要求输入一个平铺,它会得到一个整数Java 如何检查输入是否为整数,java,java.util.scanner,Java,Java.util.scanner,我正在制作一个程序,该程序将询问用户的int输入,并检查用户输入是否为整数。如果没有,程序会要求输入一个平铺,它会得到一个整数 Scanner in = new Scanner(System.in); System.out.println("Eneter a nuber here:"); int num; if (in.hasNextInt()){ num =in.nextInt(); if(num % 2 == 0){
Scanner in = new Scanner(System.in);
System.out.println("Eneter a nuber here:");
int num;
if (in.hasNextInt()){
num =in.nextInt();
if(num % 2 == 0){
System.out.print("this is even!!");
} else{
System.out.println("this is odd!!");
}
} else {
System.out.print("pleas enter an integer only!!!");
num = in.nextInt();
if(num % 2 == 0){
System.out.print("this is even second check!!");
} else{
System.out.println("this is odd second check!!");
}
}
这是代码,但我有一些错误。当输入不是整数时会出现错误。请对此提供帮助,提前感谢 可能是一种愚蠢的方法,但这可以解决您的问题:
String x;
x = "5";//or get it from user
int y;
try{
y = Integer.parseInt(x);
System.out.println("INTEGER");
}catch(NumberFormatException ex){
System.out.println("NOT INTEGER");
}
编辑:
程序将尝试将字符串转换为整数。如果它是整数,它将成功,否则它将获得异常并被捕获
另一种方法是检查ASCII值
要继续直到遇到整数,请执行以下操作:
String x;
Scanner sc = new Scanner(System.in);
boolean notOk;
do{
x = sc.next();
notOk = check(x);
}while(notOk);
System.out.println("Integer found");
}
private static boolean check(String x){
int y;
try{
y = Integer.parseInt(x);
return false;
}catch(NumberFormatException ex){
return true;
}
}
必须将用户输入读取为字符串。然后,在try/catch块中,对integer(integer.parseInt())进行强制转换,如果引发异常的原因不是数字。请尝试下面的代码,它将仅在有效整数时结束,否则它将继续要求整数,我想您正在寻找相同的整数
public void checkInt() {
Scanner scanner = new Scanner(System.in);
System.out.println("Eneter a nuber here:");
try {
int num = scanner.nextInt();
if (num % 2 == 0) {
System.out.print("this is even!!");
} else {
System.out.println("this is odd!!");
}
} catch (InputMismatchException e) {
System.out.println("pleas enter an integer only!!!");
checkInt();
}
}
重复问题:是的,非常感谢你们的帮助,但我怎样才能让catch部分中的无限循环从中获取输入的整数???由于其他原因,操作面临错误。他/她回答时已经使用了此代码!A-1。
import java.util.Scanner;
public class Test {
public static void main(String args[] ) throws Exception {
Scanner sc=new Scanner(System.in);
if(sc.hasNextInt())
System.out.println("Input is of int type");
else
System.out.println("This is something else");
}
}