输入一批考生的的准考证号码,如果是 15 位,表示输入正确,否则重新输入。然后判断这个人的考试类别(号码中如果是以奇数结尾则考试类别为“A 类”,否则为“B 类”),最后输出此准考证的前 5 位和后 4 位,其他位用“*”来代替。说明:使用 StringBuffer 类的相关方法完成实验内容。
因为是一批考生,所以先创建一个字符数组存放一组准考证号.
此外这个程序涉及到包装类与基本数据类型的互相转换.
string的substring方法,返回一个字符串是该字符串的子串.从第一个参数开始,第二个参数结束
1 import java.util.Scanner; 2 public class Test5_2 { 3 public static void main(String[] args){ 4 System.out.print("输入考生个数:"); 5 Scanner in=new Scanner(System.in); 6 int n=in.nextInt(); 7 String []array=new String[n]; 8 System.out.println("输入准考证号:"); 9 for(int i=0;i<n;i++){ 10 String s=in.next(); 11 while(s.length()!=15){ 12 if(s.length()==15) { //如果一次输入正确就跳出判断是否为15位的循环,进入下一个字符串的输入 13 System.out.println("输入正确"); 14 break; 15 } 16 System.out.println("准考证号不是15位,请重新输入:"); 17 s=in.next(); 18 } 19 array[i]=s; //将字符串存放到数组中 20 } 21 for(int i=0;i<n;i++){ 22 long it=Long.parseLong(array[i]);//字符串转换为整数 23 int tail=(int)it%10;//取尾数 24 System.out.print(array[i]);//输出已输入的所有字符串 25 if(tail%2==0)//判断尾数是否为奇数 26 System.out.print(" 该考生的考试类别为B类"); 27 else 28 System.out.print(" 该考生的考试类别为A类"); 29 String stemp1=array[i].substring(0,5);//输出前5位 30 String stemp2=array[i].substring(11,15);//输出后4位 31 System.out.println(" 该考生准考证为:"+stemp1+"******"+stemp2); 32 } 33 } 34 }