从键盘上接收一批数字,比较输出中的最大值和最小值,输入0结束循环。java写出来

2025-04-13 09:28:14
推荐回答(2个)
回答1:

从键盘上接收一批数字,比较输出中的最大值和最小值,输入0结束循环,java方法如下:


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;



public class TestD {
public static void main(String[] args){

//存放输入成功的数集合
List list=new ArrayList();
Integer a=null;
//循环输入,输入不是整数不记录
while(a==null||a!=0){
//如果不为null才存到集合
if(a!=null){
list.add(a);
//重新给null,防止后面输错重新存集合
a=null;
}

try {
////输入工具类
Scanner sc=new Scanner(System.in);
System.out.print("请输入整数:");
//输入整数,不然会出异常,会被catch掉
a=sc.nextInt();
} catch (Exception e) {
System.out.println("您输入的数不是整数,请重新输入");
}

}
//当a==0
if(a!=null&&a==0){
//集合由小到大排序
Collections.sort(list);
//输出集合
System.out.println(list);
//输出最大和最小值
System.out.println("输入结束,输入最大数是:"+list.get(list.size()-1)+",输入最小数是:"+list.get(0));
}
}
}

结果:
请输入整数:f
您输入的数不是整数,请重新输入
请输入整数:1
请输入整数:s
您输入的数不是整数,请重新输入
请输入整数:9
请输入整数:3
请输入整数:0
[1, 3, 9]
输入结束,输入最大数是:9,输入最小数是:1

回答2:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class $ {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        List data = new ArrayList();

        while (true) {

            System.out.print("输入一个数:");

            int input = in.nextInt();

            if (input == 0) {
                break;
            }

            data.add(input);

            System.out.println("当前List元素:" + data);
        }

        Collections.sort(data);

        System.out.println("排序后:" + data);
        System.out.println("最大值" + data.get(data.size() - 1));
        System.out.println("最小值:" + data.get(0));
    }
}