一、【随机生成班级学生分数】 用数组存储分数,另外用一个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+"个无重复的两位数");
}
}