java中try catch和循环结合

import java.util.Scanner;

public class T {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int a=0;
System.out.println("请输入一个整数:");
for (int i = 0; i < 5; i++) {
try {
a=input.nextInt();
} catch (Exception e) {
// TODO: handle exception
System.out.println("输入错误!请重新输入!");
}
}
}
}
我输入一个字母。就会循环输出5句输入错误!这句 a=input.nextInt();将不执行。我希望他可以下一次继续让我输入整数。代码要怎么写?
public static void main(String[] args) {
java.util.Scanner input =new java.util.Scanner(System.in);
int a=0;
System.out.println("请输入一个整数:");
for (int i = 0; i <拍携弯 5; i++) {
try {
a=input.nextInt();
System.out.println("你输入的整数是:"+a);
} catch (Exception e) {
//隐庆 TODO: handle exception
String errorInput=input.nextLine();//接收你的错袭闷误输入
System.out.println("输入错误!请重新输入!");
}
}
}
import java.util.Scanner;

public class T {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int a=0;
System.out.println("请输入一个整数:");
for (int i = 0; i < 5; i++) {
try {
a=input.nextInt();
} catch (Exception e) {
// TODO: handle exception
System.out.println("输入悉改羡错误歼配!请重新输入!");
}
}
}
System.out.println("请输睁拍入一个整数:");
}
}
这样写:

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = 0;
System.out.println("请输入一个整数:");
for (int i = 0; i < 5; i++) {
String next = input.next();
try {
a = Integer.parseInt(next);
} catch (Exception e) {
/团并/ TODO: handle exception
System.out.println("输入错误!请塌纤迹重新输入竖掘!");
}
}
}
import java.util.Scanner;
public class T { 
 public static void main(String[] args) {  
  Scanner input =new Scanner(System.in);  
  坦坦好String a="0";  
  System.out.println("请输入一让铅个整数:");  
  for (int i = 0; i < 5; i++) {   
   a = input.next();
   if(!a.matches("^[0-9]+$")){
 信判   System.out.println("输入错误!请重新输入!");
    continue;
   }
   System.out.println("输入的数字为:" + Integer.parseInt(a));
  }
 }
}

a=input.nextInt();这个桥碧腔函数的意思慧或是从键盘输入数字

你要是想输入敏衫字符串String qing = input.next();