题目:输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50
虽然题目简单,但是据说是要给后台测试经过严格测试才算通过,比如各种边界检查,当然也有可能我想多了。
static public void get(){
InputStreamReader ir ;
BufferedReader br;
ir = new InputStreamReader(System.in);
br = new BufferedReader(ir);
System.out.println("输入数组长度1~50");
int length= 0;
boolean flag = false;
do{
try {
String inlength = br.readLine();
length = Integer.parseInt(inlength);
if(length > 50 || length < 1){
System.out.println("输入范围有误");
flag = true;
}
else
{
System.out.println("范围合法");
flag = false;
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("输入范围有误");
flag = true;
}
}while(flag);
List<Integer> IntArray = new ArrayList<Integer>();
int times = 0;
int num = 0;
do{
try {
times++;
if(times > length){
System.out.println("输入数据结束");
break;
}
System.out.println("请输入第"+times+"个数据");
String innum = br.readLine();
num = Integer.parseInt(innum);
IntArray.add(num);
flag = true;
} catch (Exception e) {
// TODO: handle exception
System.out.println("输入数字不是整型");
times--;
flag = true;
}
}while(flag);
int min = IntArray.get(0);
int max = IntArray.get(0);
for(int index = 0;index < IntArray.size();index++){
System.out.print(IntArray.get(index)+" ");
if(min > IntArray.get(index))
{
min = IntArray.get(index);
}
if(max < IntArray.get(index)){
max = IntArray.get(index);
}
}
System.out.println();
System.out.println("最小值:"+min);
System.out.println("最大值:"+max);
int result = min+max;
System.out.println("结果:"+result);
}