A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叶落霞 初级黑马   /  2018-6-9 01:21  /  625 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码是我自己没事想的,具体情况如下,用户输入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;
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马