JAVA类定义练习2

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;
	}
	
}

}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值