栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

20210610 1+X 初级实操项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

20210610 1+X 初级实操项目

实操考试题其他系列请移步专栏:JAVA实操题_疯狂的格式化的博客-CSDN博客
步骤2(10分):完成抽象类 User

目标说明

系统提供登录功能,需要存在用户,涉及到的用户有学生和老师,我们选择使用抽象来创建基类。 org.lanqiao.bean.User 是一个用户的抽象类,请根据注释要求,补全空缺的代码。

    
    public User(int type,String name,String pwd){
        // 缺失代码
    }
 

构造方法代码不多,可以直接手写。也可以把代码复制粘贴到 Eclipse 中,自动生成构造函数

右键——>Source——>Generate Constructor using Fields...

public User(int type,String name,String pwd){
	// 缺失代码
	this.type=type;
	this.name=name;
	this.pwd=pwd;
}

步骤3(10分):完成实体类 Student

目标说明

org.lanqiao.bean.Student 是一个实体类,表示的是学生,请根据注释要求,补全空缺的代码。

    
    public Student(String name, String pwd) {
        // 缺失代码
    }

    
    public Student(String name, String pwd,double score) {
        // 缺失代码
    }

可以发现第一个构造方法传的参数在 Student 类中并没有,但是上一步的 User 类中有这两个参数,所以可以使用 super 关键字调用 Student 类的父类 User 类中的构造方法(上一步写的构造方法),不过只填 name 和 pwd 两个参数会报错,看注释的注意中提到的 type ,将User.STUDENT 填上去。

第二个构造方法直接把第一个构造方法的代码复制过来加上 score 即可。 

public Student(String name, String pwd) {
	// 缺失代码
	super(User.STUDENT,name,pwd);
}

public Student(String name, String pwd,double score) {
	// 缺失代码
	super(User.STUDENT,name,pwd);
	this.score=score;
}

步骤4(15分):完成配置类 Config

目标说明

模拟的系统中存在很多的提示信息,以及需要用到一些全局的操作,我们把他们封装在 org.lanqiao.config.Config 类中,请根据注释要求,补全空缺的代码。

public static boolean goon() {
    // 缺失代码

    return false;
} 

使用 equals 进行字符串的值比较即可。 

	public static boolean goon() {
		// 缺失代码
		String str = input.next();
		if(str.equals("y")||str.equals("Y")){
			return true;
		}
		return false;
	}

步骤5(20分):完成数据操作类 Db 

目标说明

系统需要的存储功能,我们使用 org.lanqiao.db.Db 类来进行实现,请根据注释要求,补全空缺的代码。

    

    static{
        //初始化teacher数据
        teachers.add(new Teacher("luozy", "123"));
        //补充代码###初始化student数据
        
    }

根据注释的提示使用 add 添加数据。有一个 teachers.add 的例子,其余的照着写就可以。

	static{
		//初始化teacher数据
		teachers.add(new Teacher("luozy", "123"));
		//补充代码###初始化student数据
		students.add(new Student("peter", "123",90));
		students.add(new Student("jerry", "123456",95));
		students.add(new Student("lucy", "12345",98));
	}

步骤6(10分):完成学生服务类 StudentService

目标说明

系统为学生提供了一系列的操作,我们把他封装在 org.lanqiao.service.StudentService 类中,请根据注释要求,补全空缺的代码。

    
    public void showAll() {
        // 补全代码
        // 注意1:数据来自Db.students
        // 注意2:是直接输出
        
    }
    

用 for 循环取出 students 中的数据,获取 List 的长度用 size()。

	public void showAll() {
		// 补全代码
		// 注意1:数据来自Db.students
		// 注意2:是直接输出
		for (int i = 0; i < Db.students.size(); i++) {
			// if(Db.students.get(i)!=null){

			// }
			System.out.println((i+1)+"t"+Db.students.get(i).getName()+"t"+Db.students.get(i).getScore());
		}
		
	}

步骤7(15分):完成服务类 LoginService 

目标说明

org.lanqiao.service.LoginService 是登录服务类,请根据注释要求,补全空缺的代码。

    
    public static void login(int type, String name, String pwd) {
        // 补全代码,下列代码仅供参考
        if(type==User.TEACHER){

        }
        else{

        }
        
    }

从 Db 类获取数据来判断用户名和密码是否相等,相等则根据注释要求写代码。

	public static void login(int type, String name, String pwd) {
		// 补全代码,下列代码仅供参考
		if(type==User.TEACHER){
			for(int i = 0;i 

步骤8(15分):继续完善服务类 LoginService

目标说明

org.lanqiao.service.LoginService 还有一个更改密码的功能未完成:

    
    public void changePwd() {
        Scanner input = new Scanner(System.in);
        // 补全代码:
        
        input.close();
    }

根据提示可以直接使用 loginUser 调用 get 和 set 方法获取和修改数据。 

	public static void changePwd() {
		Scanner input = new Scanner(System.in);
		// 补全代码:
		// 接收用户输入原密码,
		if(input.next().equals(loginUser.getPwd())){
			// 比对成功后:
			// 接收用户输入新密码,修改当前登录的用户的密码为新密码
			loginUser.setPwd(input.next());
		}
		input.close();
	}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号