用JAVA写程序,1-30中的数不按从小带大的顺序输出

用JAVA写程序,1-30中的数不按从小带大的顺序输出,乱序输出,且不重复。


import java.util.ArrayList;

import java.util.Collections;

import java.util.List;



public class Main {

    public static void main(String[] args) {

        List<Integer> list = new ArrayList<>();

        for (int i = 1; i <= 30; i++) {

            list.add(i);

        }

        Collections.shuffle(list);

        for (int num : list) {

            System.out.print(num + " ");

        }

    }

}



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/1085024
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:《java》学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:
  • 除此之外, 这篇博客: Java数组编程练习题(面试题)中的 3. 给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数;某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import java.util.Arrays;
    import java.util.Scanner;
    
    public class Test3 {
    	/*
    	 * 给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数;
    	 * 某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做)
    	 */
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    		System.out.println("请输入10个同学的成绩:");
    		int[] arr = new int[10];
    		for (int i = 0; i < arr.length; i++) {
    			arr[i] = scanner.nextInt();
    		}
    		int sum = sumScore(arr);
    		System.out.println("总成绩为:" + sum);
    		// 新转来两个,数组扩容
    		arr = expandCapacity(arr);
    		System.out.println(Arrays.toString(arr));
    		sum = sumScore(arr);
    		float aver = sum / arr.length;
    		System.out.println("平均值为:" + aver);
    	}
    
    	public static int[] expandCapacity(int[] arr) {
    		// 数组扩容
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入两个新同学的成绩:");
    		int[] arr1 = new int[arr.length + 2];
    		for (int i = 0; i < arr1.length; i++) {
    			if (i < arr.length) {
    				arr1[i] = arr[i];
    			}else {
    				arr1[i] = scanner.nextInt();
    			}
    		}
    		return arr1;
    	}
    
    	public static int sumScore(int[] arr) {
    		// 求和
    		int sum = 0;
    		for (int i = 0; i < arr.length; i++) {
    			sum += arr[i];
    		}
    		return sum;
    	}
    }

    结果:

  • 您还可以看一下 孙杰老师的图解&代码-常见算法的原理和实现-Java版课程中的 8分钟掌握算法(四),广度优先穷竭贪心算法解答“选硬币”问题,JAVA实现小节, 巩固相关知识点