方法1.通过判断把不符合类型的数据丢弃
for(int i=0;i<vertexNum;i++){
System.out.println("输入第 "+i+" 个顶点的值";
//方法1
if (input.hasNext()){
if (input.hasNextInt()){
vertex[i]=input.nextInt();
}else {
//切记要把不符合的数据读入丢掉
input.next();
i--;
}
}
方法2:捕获到异常时将不符合的数据读进来丢弃
for(int i=0;i<vertexNum;i++){
System.out.println("输入第 "+i+" 个顶点的值");
//是否需要捕获异常
try {
vertex[i]=input.nextInt();
}catch (Exception e){
//切记要把不符合的数据读入丢掉
input.next();
System.out.println("输入数字!!"+"\n");
e.printStackTrace();
i--;
}
}
切记要把不符合的数据读入丢掉,否则会无限循环,一直读取哪个错误的数据