用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 + " ");
}
}
}
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;
}
}
结果: