Java 之 实验十 -- 数组

实验十

数组

练习一

计算并实现一个应用程序,读取0-49范围内的任意多个整数,并且计算每项输入数据出现的次数。当输入完成后,打印所有的输入值及其出现的次数。(提示:使用命令行参数)
JiShu.java

package J10;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

public class JiShu {
	public static void main(String[] args) {
        MyNumber number = new MyNumber();
        Scanner scanner = new Scanner(System.in);
        int temp = 0;
        while (true) {
            System.out.println("请输入0-50(包括)之间的数:");
            temp = scanner.nextInt();
            if (temp >= 0 && temp <= 50) {
                if (!MyNumber.map.containsKey(temp)) {
                    MyNumber.map.put(temp, 1);
                } else {
                    int sum = MyNumber.map.get(temp);
                    MyNumber.map.put(temp, ++sum);
                }
            } else {
                break;
            }
        }
        number.show();
    }
}
 
class MyNumber{
    static TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();
    private StringBuilder sb = new StringBuilder();
    public void show(){    
        Set<Integer> set = map.keySet();
        Iterator<Integer> it = set.iterator();
        while(it.hasNext()){
            Integer keyTemp = it.next();
            sb.append("整数"+keyTemp+"--");    
            sb.append("输入"+map.get(keyTemp)+"次"+"   ");
        }
        System.out.println(sb.toString());
    }
}

练习二

使用重载的方式,同名方法不同参数进行操作,对两个数、三个数、数组等不同的参数类型进行排序。
运行效果参考如下:
两个数的排序结果:30 12
三个数的排序结果:40 30 12
数组的排序结果: 8 12 16 16 23 34 44 52 67 98

PaiXu.java

package J10;
import java.util.Arrays;
import java.util.Scanner;


public class PaiXu {
	public static void main(String[] args) {
		paixuya Paixuya = new paixuya();
		System.out.println("输入几个数字");
		Scanner scanner = new Scanner(System.in);
		int no = scanner.nextInt();
		System.out.println("请输入" + no + "个数字");
		int[] list = new int[no];
		if (no == 2){
			Paixuya.paipai(scanner.nextInt(),scanner.nextInt());
		}else {
			for (int i = 0; i < list.length; i++) {
				list[i] = scanner.nextInt();
			}
			Paixuya.paipai(list);
		}
	}
}
class paixuya{
	public void paipai(int a ,int b){
		if (a > b) {
			System.out.println("两个数的排序结果:" + a + " " + b);
		} else {
			System.out.println("两个数的排序结果:" + b + " " + a);
		}
	}
	public void paipai(int... list){
		if (list.length==3) {
			Arrays.sort(list);
			System.out.print("三个数排序: ");
			for (int i = 0; i < list.length; i++) {
				System.out.print(list[i] + " ");
			}
		}
		else{
			Arrays.sort(list);
			System.out.print("数组的排序结果: ");
			for (int i = 0; i < list.length; i++) {
				System.out.print(list[i] + " ");
			}
		}
	}

}

End

posted @   Ivan丶ky  阅读(281)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示