数组的习题练习
- 从控制台输入5个学生的成绩,保存到数组。求平均分、最高分、最低分
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double[] scores = new double[5];
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
scores[i] = input.nextDouble();
}
System.out.println(Arrays.toString(scores));
Arrays.sort(scores);
System.out.println("最高分:" + scores[scores.length - 1]);
System.out.println("最低分:" + scores[0]);
double sum = 0;
for (double score : scores) {
sum += score;
}
System.out.println("平均分:" + sum / scores.length);
}
- 计算某年某月某日是该年的第几天
public static void main(String[] args) {
// int year = 2019;
// int month = 6;
// int day = 11;
//
// int[] daysOfMonth = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//
// if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
// daysOfMonth[2] = 29;
// }
//
// int days = 0;
// for (int i = 1; i < month; i++) {
// days += daysOfMonth[i];
// }
//
// days += day;
//
// System.out.println(days);
//jdk新的日期类
LocalDate localDate = LocalDate.of(2019, 5, 11);
int dayOfYear = localDate.getDayOfYear();
System.out.println(dayOfYear);
}
- 6*6的二维数组,看成一个矩阵,实现顺时针旋转90度。
public static void main(String[] args) {
//int[] array = {1,2,3,4,5,6};
int[][] array = {
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6}
};
int[][] newArray = new int[6][6];
//00 -> 05
//01 -> 15
//02 -> 25
//12 -> 24
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
newArray[j][5 - i] = array[i][j];
}
}
for (int i = 0; i < newArray.length; i++) {
System.out.println(Arrays.toString(newArray[i]));
}
}
```java
> 4. 将三个班级的成绩存放到一个二维数组,第一个班3个学生,第二个班5个学生,第三个班7个学生,求各班级的平均分。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] scores = new int[3][];
scores[0] = new int[3];
scores[1] = new int[5];
scores[2] = new int[7];
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
System.out.println("请输入" + (i + 1) + "班第" + (j + 1) + "个学生的成绩:");
scores[i][j] = input.nextInt();
}
}
System.out.println(Arrays.deepToString(scores));
for (int i = 0; i < scores.length; i++) {
int sum = 0;
for (int j = 0; j < scores[i].length; j++) {
sum += scores[i][j];
}
System.out.println(sum / scores[i].length);
}
}