//从命令行得到5个整数,放入一整型数组,然后打印输出,要求:
// 如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,
// 显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。
class Inter {
static boolean aBoolean=true;
public static String readB(){
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
//如果字符串长度为0,则返回一个空字符串
if(str.length()==0||str==null){
return "";
}
//返回字符串
else {
return str;
}
}
//读取一个整型,如果直接回车则表示输入结束
public static int readInt(int deaflu){
int ints=0;
String s=readB();
if (s.equals("")) {
aBoolean=false;
return deaflu;
}
try {
ints=Integer.parseInt(s);
}
catch (NumberFormatException e){
System.out.println("请输入整数");
}
return ints;
}
public static void main(String[] args) {
int count=0;//计数
int[] ints=new int[10];//创建数组
//不断从键盘读入数字,如果回车则结束读入
for(int i=0;;i++){
ints[i]=readInt(10);
count++;
if(aBoolean==false){
count--;
break;
}
}
if(count<5){
try {
throw new Except("请输入至少5个整数");
} catch (Except except) {
except.printStackTrace();
}
}
System.out.println(count);
for(int i=0;i<count;i++)
System.out.println(ints[i]);
}
}
//自定义异常类
class Except extends Exception{
static final long serialVersionUID = -338751993124229948L;
public Except(){
}
public Except(String str){
super(str);
}
}