1. 一维数组的创建和遍历。
声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数。要求:
(1) 首先按“顺序”遍历,即打印顺序为:从第一个人到第四个人;
(2) 然后按“逆序”遍历,即打印顺序为:从从第四个人到第一个人;
(3) 输出最高分;
(4) 输出最低分;
2. Arrays类的sort方法的理解与应用(参照110页程序)。
对无序的10个数字使用Arrays类的sort方法进行排序。要求:
² 声明并初始化数组
² 按如下格式输出排序后的数组
sum[0] = 1
sum[1] = 2
………………
3. 一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目。
4. 身份证号码的判断。
声明String类型的字符串,保存身份证号码。编写程序判断:
1)该号码是否为湖南长沙的号码(判断依据:前4位为4301,即长沙号码;否则不是长沙号码)。
2)该号码主人的性别(判断依据:第17位为奇数,性别为男;第17位为偶数,性别为女)。
附加:实现一个二维数组的转置,操作过程是将二维数组表示的矩阵对应的每一个元素number[i][j]被置为number[j][i]。要求:
² 可以借助一个新的数组来完成转置
² 如果不借助新的数组完成转置。
² 转置举例:
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
1 package com.wsy.work; 2 import java.util.Scanner; 3 public class Work1 { 4 5 public static void main(String[] args) { 6 Scanner in = new Scanner(System.in); 7 int []array = new int[4]; 8 for(int i =0; i<array.length ;i++) 9 { 10 array[i] = Integer.parseInt(in.nextLine()); 11 } 12 int max = array[0]; 13 int min = array[0]; 14 System.out.println("============================="); 15 System.out.println("顺序输出"); 16 for(int i = 0; i<array.length; i++) 17 { 18 if(array[i] > max) 19 { 20 max = array[i]; 21 } 22 if(array[i] < min) 23 { 24 min = array[i]; 25 } 26 System.out.println(array[i]); 27 } 28 System.out.println("============================="); 29 System.out.println("逆序输出"); 30 for(int i = array.length-1 ;i>=0 ;i--) 31 { 32 System.out.println(array[i]); 33 } 34 System.out.println("============================="); 35 System.out.println("最高分:"+max); 36 System.out.println("最低分:"+min); 37 in.close(); 38 } 39 40 }
1 package com.wsy.work; 2 import java.util.Scanner; 3 import java.util.Arrays; 4 5 public class Work2 { 6 7 public static void main(String[] args) { 8 int []numbers = new int[10]; 9 Scanner in = new Scanner(System.in); 10 for(int i =0; i<numbers.length; i++) 11 { 12 numbers[i] = Integer.parseInt(in.nextLine()); 13 } 14 Arrays.sort(numbers); 15 for(int i =0; i<numbers.length; i++) 16 { 17 System.out.println("sum["+i+"] = "+numbers[i]); 18 } 19 in.close(); 20 } 21 22 }
1 package com.wsy.work; 2 import java.util.Scanner; 3 public class Work3 { 4 5 public static void main(String[] args) { 6 int []array = new int[10] ; 7 int failCount = 0; 8 Scanner in = new Scanner(System.in); 9 for(int i =0; i<array.length; i++) 10 { 11 array[i] = Integer.parseInt(in.nextLine()); 12 if(array[i] < 60) 13 { 14 failCount++; 15 } 16 } 17 System.out.println("不及格的人数有:"+failCount); 18 in.close(); 19 } 20 21 }
1 package com.wsy.work; 2 import java.util.Scanner; 3 public class Work4 { 4 5 public static void main(String[] args) { 6 Scanner in = new Scanner(System.in); 7 String id = in.nextLine(); 8 String ChangShaReg = "4301\\d{14}"; 9 String womenReg = "\\d{16}[0,2,4,6,8]\\d{1}"; 10 boolean isChangSha = id.matches(ChangShaReg); 11 boolean isWomen = id.matches(womenReg); 12 if(isChangSha) 13 { 14 System.out.println("您输入的是长沙的身份证!"); 15 } 16 else 17 { 18 System.out.println("您输入的不是长沙的身份证!"); 19 } 20 if(isWomen) 21 { 22 System.out.println("该身份证是一名女士的"); 23 } 24 else 25 { 26 System.out.println("该身份证是一名男士的"); 27 } 28 in.close(); 29 } 30 31 }
1 package com.wsy.work; 2 3 public class Work5 { 4 5 public static void main(String[] args) { 6 int [][]array = {{1,2,3}, 7 {4,5,6}, 8 {7,8,9} 9 }; 10 int [][]newArray = new int[3][3]; 11 for(int i =0; i<array.length; i++) 12 { 13 for(int j =0; j<array[i].length; j++) 14 { 15 newArray[i][j] = array[j][i]; 16 } 17 } 18 System.out.println("原矩阵为:"); 19 for(int i =0; i<newArray.length; i++) 20 { 21 for(int j =0; j<newArray[i].length; j++) 22 { 23 System.out.print(array[i][j]+"\t"); 24 } 25 System.out.println(); 26 } 27 System.out.println("=============================="); 28 System.out.println("新矩阵为:"); 29 for(int i =0; i<newArray.length; i++) 30 { 31 for(int j =0; j<newArray[i].length; j++) 32 { 33 System.out.print(newArray[i][j]+"\t"); 34 } 35 System.out.println(); 36 } 37 } 38 39 }
在本次学习中遇到了需要去匹配字符串问题,在我学习的视频里没有仔细讲正则表达式这个东西,所以我在百度中搜索了java正则表达式,粗略的学习了一点知识,现学现卖的完成了本次任务。
附学习链接:
https://blog.csdn.net/weixin_39190897/article/details/81976632