简单学生系统
//定义一个长度为3的数组,数组存储1-3名学生对象作为初始数据
//要求1 再次加一个学生对象,并在添加时进行学号唯一性判断
//要求2 添加完毕后遍历所有学生信息
//要求3 通过id删除学生信息 存在删除,不存在表示删除失败
//要求4 删除完后,遍历所有学生信息
//要求5 查询数组id为002的学生,如果存在则将他的年龄加一
package Day04;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args){
//定义一个长度为3的数组,数组存储1-3名学生对象作为初始数据
Student[] studentArray = new Student[4];
Student s1 = new Student(001,"小姚",18);
Student s2 = new Student(002,"小张",19);
Student s3 = new Student(003,"小王",17);
studentArray[0] = s1;
studentArray[1] = s2;
studentArray[2] = s3;
Student[] arr = idJudgement(studentArray);
Student[] arr1 = delete(arr,004);
Student[] arr2 = addAge(arr,002);
for (int i = 0; i < arr2.length; i++) {
if(arr[i]!=null){
System.out.println(arr2[i].getId()+arr2[i].getName()+arr2[i].getAge());
}
}
}
//要求1 再次加一个学生对象,并在添加时进行学号唯一性判断
public static Student[] idJudgement(Student[] arr){
Student s = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入添加对象的id");
int id = sc.nextInt();
boolean flag = contains(arr,id);
if(flag){
System.out.println("id重复,请修改后输入!");
}else{
s.setId(id);
System.out.println("请输入添加对象的name");
String name = sc.next();
s.setName(name);
System.out.println("请输入添加对象的age");
int age = sc.nextInt();
s.setAge(age);
arr[3] = s;
return arr;
}
return arr;
}
//判断是否存在
public static boolean contains(Student[] arr,int number){
boolean flag = false;
for (int i = 0; i < arr.length - 1; i++) {
if(arr[i].getId()==number){
flag = true;
}
}
return flag;
}
//要求3 通过id删除学生信息 存在删除,不存在表示删除失败
public static Student[] delete(Student[] arr,int id){
for (int i = 0; i < arr.length; i++) {
if(arr[i].getId()==id){
arr[i] = null;
return arr;
}
}
System.out.println("不存在要删除的id");
return arr;
}
//要求5 查询数组id为002的学生,如果存在则将他的年龄加一
public static Student[] addAge(Student[] arr,int id){
for (int i = 0; i < arr.length; i++) {
if(arr[i].getId()==id){
int age = arr[i].getAge()+1;
arr[i].setAge(age);
return arr;
}
}
System.out.println("不存在要增加年龄的id");
return arr;
}
}
字符串
字符串内容是不会发生变化的,它的对象在创建以后不会改变
1 直接赋值 2 传递字符数组,根据字符数组内容在创建一个新的字符串对象 需求:修改字符串内容 abc Qbc 3 传递字节数组 需求:把字节信息转成字符串
2和3属于new关键字传教关键对象
字符串比较
==:对于基本数据类型比较的是数据值;对于引用数据类型比较的是地址值。
s1.equals(s2) s1和s2完全一致为true s1.equalsIgnoreCase(s2); 忽略大小写
键盘录入模拟账号登陆
//1 定义正确的用户名和密码
String rightUserName = "xiaoyao";
String rightUserPassword = "123456";
//2 键盘录入模拟登录的用户名密码
Scanner sc = new Scanner(System.in);
int count = 1;
while (count<4){
System.out.println("请输入用户名密码");
String userName = sc.next();
String userPassword = sc.next();