代码是我自己没事想的,具体情况如下,用户输入N个整数,然后比较其大小输出最大值,功能都能实现。现在想完善一点,就如果用户输入的是数字 就录入,输入完了就输入end 代表用户输入完了,但现在还有一种情况不能解决,如果用户输入的不是数字也不是end 就提示用户 输入错误,从新输入 。
具体代码如下。有木有大佬帮忙看看。
import java.util.ArrayList;
import java.util.Scanner;
/*
* 用户输入N个数字,定义一个方法,求出最大值。
*
*/
public class MethoedMax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
System.out.println("请输入需要比较的整数,输入完毕请输入end");
System.out.println("请输入第1个数");
int i = 2;
while (sc.hasNextInt()) {
System.out.println("请输入第" + i + "个数");
i++;
int intA = sc.nextInt();
list.add(intA);
if (sc.hasNext("end")) {
break;
}
}
System.out.println("本次共计输入" + (i - 2) + "个数据,详细如下");
System.out.println(list);
System.out.println("其最大值为:" + getMax(list));
sc.close();
}
// 定义一个方法求最大值
// 返回类型 int
// 方法名称 getMax
// 参数 list
public static int getMax(ArrayList<Integer> list) {
int max = list.get(0);
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i) < list.get(i + 1)) {
max = list.get(i + 1);
} else {
max = list.get(i);
}
}
return max;
}
}
|
|