数组的排列组合

一、【随机生成班级学生分数】 用数组存储分数,另外用一个String数组存储班级学生姓名。 数组排序,按分数排序的同时交换,String数组对应的元素。 【数组排序】涉及算法及嵌套for循环。

第一步:创建一个String数字存放学生名字,创建一个int(或者float)数字存放分数长度为String的长度

第二步:利用for循环进行循环打印,并且在第二个for循环中用分数数字接收随机的分数,范围是0-100分,然后在利用Arrays.soort进行排序

第三步:再建一个同级for循环将名字和排序分数相应打印出来

public class FenShu {
	public static void main(String[] args) {
		// 导入产生随机数的工具包
		Random r = new Random();
		// 创建一个String数组存放学生姓名
		String[] stu = { "夏忠柱", "杨志宏", "陈威", "蒋凯", "舒健", "谭学文", "许昂", "孙暾", "邹承", "杨志伟", "黄鹏斌", "胡兵", "刘美英", "蒋锦锋",
				"卜黎超", "黄彪", "蔡奇" };
		// 创建一个int数组用来存放随机产生的分数
		int[] input = new int[17];
		// 第一层for循环用来打印出String数组中的每个学生的名字
		for (int i = 0; i < stu.length; i++) {
			// 第二层for循环用来打印分数
			for (int j = 0; j < input.length; j++) {
				// 调用random工具包,产生随机分数,放到input数组中去,范围是0-100分
				input[j] = r.nextInt(101);
				// 分数排序
				Arrays.sort(input);
        	}
		}
		// 打印出排序好的分数
		for (int k = 0; k < input.length; k++) {
			System.out.println(stu[k] + "的分数是:" + input[k]);
		}
	}
}

二、1,2,3三个数字能组成多少个互不相同且无重复数字的两位数?都是多少

我采用的方法是先将所有可组成二位数的数字数出来,其次在进行if判断将两个相同的数字组成的二位数进行排除

public class PaiLie {
	public static void main(String[] args) {
		int count = 0;
		int count1 = 0;
		int[] number = {1,2,3};
		for(int i=0;i<number.length; i++) {
			for(int j=0;j<number.length; j++) {
				if(number[i] != number[j]) {
					System.out.println(10*number[i] + number[j] );
					count++;
				}	
			}
		}
		System.out.println("该数组可以组成"+count+"个无重复的两位数");
	}
}

    原文作者:陈十二吖
    原文地址: https://blog.csdn.net/m0_63982225/article/details/122167041
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞