package com.fqs.demo1; import java.util.Scanner; public class StudentTest { public static void main(String[]args) { //1.定义数组arr Student []arr=new Student[4]; //2.给数组赋值 Student s0=new Student("stu000","s0",36); Student s1=new Student("stu001","s1",37); Student s2=new Student("stu002","s2",38); Student s3=new Student(); //3.放入数组 arr[0]=s0; arr[1]=s1; arr[2]=s2; arr[3]=s3; //4.键盘输入s1和s2 Scanner sc=new Scanner(System.in) ; //提示输入scid System.out.println("请输入新学生的id"); String scid=sc.next(); //只有isFind=true发现重复值的时候才能走while(flag==true) ,如果没有发现,永远不会走while(flag==true) boolean flag=true; while(true) {//写死 一直循环,结束循环的条件在if语句里 System.out.println("请输入新学生的id"); scid=sc.next(); //再次判断flag的值 flag=isFind(arr,scid);//找是否寻找到flag if (flag == false) { break; } } if(flag==false){ arr[3].setId(scid); } //判断id是否和已存在的重复 //5.输出所有 for(int i=0;i<arr.length;i++) { Student temp=arr[i]; System.out.println(temp.getId()+" "+temp.getName()+" "+temp.getAge()); } }//结束main方法 //判断是否存在 //1.我要干什么 数组中的id是否重复了 //2.我需要什么来判断 数组和id //3.我需要什么结果 存在true 不存在flase public static boolean isFind(Student[]arr,String scid) { for(int i=0;i<arr.length;i++) { //1.判断数组内的id和输入的id是否重复 if(arr[i].getId() != null && arr[i].getId().equals(scid)) { System.out.println("此id被找到了,isFind返回true"); return true; } //2.如果相等说明true //3.否则返回false } System.out.println("此id没有被发现,isFind返回false"); return false; } }
标签:arr,找到,flag,循环,scid,Student,合适,new,true From: https://www.cnblogs.com/haha1988/p/17213384.html