【Java】第三章 数组(下)
例题1
得出一下代码提示的手机号
import java.net.BindException;
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[]{
8, 2, 1, 0, 3};
int[] index = new int[]{
2, 0, 3, 2, 4, 0, 1, 3, 2, 3, 3};
String tel = "";
for (int i = 0; i < index.length; i++) {
tel += arr[index[i]];
}
System.out.println("联系方式:" + tel);
}
}
例题2
从键盘上读入学生成绩,找出最高分,并输出学生成绩等级
成绩 >= 最高分-10 等级为‘A’
成绩 >= 最高分-20 等级为‘B’
成绩 >= 最高分-30 等级为‘C’
其余 等级为‘D’
提示:先读入学生人数,根据人数创建int数组,存放学生成绩
import java.util.Scanner;
public class ArrayDemo1 {
public static void main(String[] args) {
// 1.使用Scanner读取学生的个数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数:");
int number = scanner.nextInt();
// 2.创建数组,储存学生成绩,动态初始化
int[] scores = new int[number];
// 3.给数组中的元素赋值
int maxScore = 0;
System.out.println("清输入" + number + "个学生成绩");
for (int i = 0; i < scores.length; i++) {
scores[i] = scanner.nextInt();
if (maxScore < scores[i]) {
maxScore = scores[i];
}
}
// 4.获取数组元素中的最大值 优化到
// int maxScore = 0;
// for(int i = 0;i < scores.length;i++){
// if(maxScore < scores[i]){
// maxScore = scores[i];
// }
// 5.根据每个学生成绩与最高分的差值,得到每个学生的等级,并输出等级和成绩
char level;
for (int i = 0; i < scores.length; i++) {
if (maxScore - scores[i] <= 10) {
level = 'A';
} else if (maxScore - scores[i] <= 20) {
level = 'B';
} else if (maxScore - scores[i] <= 30) {
level = 'C';
} else {
level = 'D';
}
System.out.println("student:" + i + ",score is:" + scores[i] + ",grade is:" + level);
}
}
}
例题3
获取arr数组中所有元素的和
提示:使用for的嵌套循环即可
public class ArrayExer1 {
public static void main(String[] args) {
// 创建二维静态数组
int[][] arr = new int[][]{
{
3, 5, 8}, {
12, 9}, {
7, 0, 6, 4}};
int sum = 0; // 记录数组遍历后的总和
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
}
}
System.out.