JAVA 关于判断

来源:百度知道 编辑:UC知道 时间:2024/06/01 20:01:17
import java.util.*;
public class Test
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("输入一个四位的整数:");
int input = in.nextInt();

if (Character.isDigit(input))
{
System.out.println("请输入一个正确的四位整数:");
input = in.nextInt();
}

int a = 3;
int b = a + input;
System.out.println(b);

}
}

我怎样判断如果读取的不是整数,就返回让用户重新输入!急!

if (Character.isDigit(input))
{
System.out.println("请输入一个正确的四位整数:");
input = in.nextInt();
}

改成
while (!Character.isDigit(input))
{
System.out.println("请输入一个正确的四位整数:");
input = in.nextInt();
}

.matches("^[^0-9]*$")判断为非数字

input = in.nextInt();
为这条语句添加try..catch
不是int的话,这句话本身就是抛异常,当抛出异常InputMismatchException时,就表示不是整数

代码可以如下:
int input = -1;
boolean isOK = false;
while(!isOK) {
try {
input=in.nextInt();
isOK = true;
}catch (InputMismatchException ex) {
isOK = false;
System.out.pintln("输入不正确,请重新输入")
}
}

不能以0开头,然后逐个比较字符串中每一个字符是不是和“0”(这里是字符)-“9”相等。