JAVA类定义练习2:
建立一个可以输入和输出学生信息的程序,具体功能如下
代码如下:
package student;
import java.util.Scanner;
class stu{
private String name;
private int num;
public stu(String name,int num) {
this.name=name;
this.num=num;
}
public stu(int num) {
this.num=num;
}
public String toString() {
return String.format("姓名:%s,学号:%d",name,num);
}
public String getName() {
return name;
}
}
//管理员
class Manager{
private stu s[];
public void add(stu[] s,int i) {
String name;
Scanner in = new Scanner(System.in);
System.out.print(“请输入第” + (i+1) +“人的名字:”);
name = in.nextLine();
s[i] = new stu(name,i+1);
}
public void find2(stu[] s,int num,int i) {
num--;
if(num>i)System.out.println("查无此人");
else {
System.out.println(s[num].getName() + "的学号是" + (num+1));
}
}
public void find(stu[] s,String name,int i) {
int n=0;
for(;n<i;n++) {
if(name.equals(s[n].getName())) {
System.out.println(name + "的学号是" + (n+1));
n--;
break;
}
}
if(n==i)System.out.println("查无此人");
}
public int del(stu[] s,String name,int i) { //del
int n=0;
for(;n<i;n++) {
if(name.equals(s[n].getName())) break;
}
for(;n<i-1;n++) {
s[n] = new stu(s[n+1].getName(),n+1);
}
if(n==i) {
System.out.println("查无此人");
i++;
}
i--;
return i;
}
}
public class student {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义区
int n;
int i=0;
String name;
System.out.print("请输入班级人数:");
Scanner in=new Scanner(System.in);
n=in.nextInt();
stu[] student = new stu[n+1];
Manager m = new Manager();
do {
System.out.print("请输入第" +(i+1)+ "人的名字:");
name=in.next();
student[i] = new stu(name,i+1);
i++;
}while(i<n);
System.out.println(" 模式");
System.out.println("需要添加请输入1");
System.out.println("需要查找学号请输入2");
System.out.println("需要查找人名请输入3");
System.out.println("需要删除请输入4");
System.out.println("需要打印所有学生的信息请输入5");
int moshi=in.nextInt();
while(true) {
switch(moshi) {
case 1:m.add(student,i);
i++;
break;
case 2: System.out.print("请输入要查找人的名字:");
name = in.next();
m.find(student, name, i);
break;
case 3:System.out.print("请输入要查找人的学号:");
int num;
num = in.nextInt();
m.find2(student, num, i);
break;
case 4:System.out.print("请输入要删除人的名字:");
name = in.next();
i = m.del(student, name, i);
break;
case 5:for(int a=0;a<i;a++) {
System.out.println(student[a]);
}
break;
}
System.out.println("是否结束,如果需要结束请输入6");
moshi=in.nextInt();
if(moshi==6)break;
}
}
}