您的位置:首页 > 其它

编写一个用户类(Sysuser),属性包括用户名、真实姓名、年龄、出生日期、密码,类方法中包含单独修改用户年龄、判断用户名和密码、显示用户信息功能,在用户测试类中(TestSysuser),根据用户输

2020-06-05 08:17 66 查看

#本关任务:

编写一个用户类(Sysuser),属性包括用户名、真实姓名、年龄、出生日期、密码,类方法中包含单独修改用户年龄、判断用户名和密码、显示用户信息功能,在用户测试类中(TestSysuser),根据用户输入的数据初始化用户类,显示菜单:

1.修改用户年龄

2.判断用户密码

3.显示用户信息

4.退出

根据输入的数字进入相关功能.

例如输入2后,

系统提示

请输入用户名:
请输入密码:
根据用户输入的用户名和密码判断是否正确,如果正确输出

登录成功
否则提示

用户名或者密码错误
修改年龄提示为:

请输入年龄:
显示用户信息模板:

用户名:***
真实姓名:***
年龄:***
出生日期:***
密码:***
每运行完一个功能,重新显示菜单,直到用户输入4退出。

#测试数据

按照用户名、真实姓名、年龄、出生日期、密码(全为数字)顺序输入数据:username 张三 24 2001-10-01 123456

1.修改用户年龄

2.判断用户密码

3.显示用户信息

4.退出

2

请输入用户名:username

请输入密码:123456

预期输出:

登录成功

1.修改用户年龄

2.判断用户密码

3.显示用户信息

4.退出

4

import java.util.Scanner;
public class Sysuser{
String username,name,bir,password,year;
//判断用户密码
boolean un(String username,String password)
{
if(this.password.equals(password))//对于字符串用equals()方法,表示内容相同,但是不用
{System.out.println("登录成功");//==,因为两个password虽然内容相同,但指向的是不同的对象,所以==返回值是false
System.out.println("1.修改用户年龄");
System.out.println("2.判断用户密码");
System.out.println("3.显示用户信息");
System.out.println("4.退出");
return true;}
else
{System.out.println("用户名或者密码错误");
System.out.println("1.修改用户年龄");
System.out.println("2.判断用户密码");
System.out.println("3.显示用户信息");
System.out.println("4.退出");
return false;}
}
//显示用户信息
void show()
{
System.out.println("用户名:"+this.username);
System.out.println("真实姓名:"+this.name);
System.out.println("年龄:"+this.year);
System.out.println("出生日期:"+this.bir);
System.out.println("密码:"+this.password);
System.out.println("1.修改用户年龄");
System.out.println("2.判断用户密码");
System.out.println("3.显示用户信息");
System.out.println("4.退出");
}
//退出

//修改用户年龄
void modiyear(String year)
{
this.year=year;
System.out.println("1.修改用户年龄");
System.out.println("2.判断用户密码");
System.out.println("3.显示用户信息");
System.out.println("4.退出");
}
//构造函数
Sysuser(){};
//
Sysuser(String username,String name,String bir,String password,String year){
this.username=username;
this.name=name;
this.bir=bir;
this.password=password;
this.year=year;
}
}
import java.util.Scanner;
public class TestSysuser{
//按照要求编写Sysuser类实例化及相关测试功能。
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("按照用户名、真实姓名、年龄、出生日期、密码(全为数字)顺序输入数据:");
String username=sc.next();
String name=sc.next();
String year=sc.next();
String bir=sc.next();
String password=sc.next();
System.out.println("1.修改用户年龄");
System.out.println("2.判断用户密码");
System.out.println("3.显示用户信息");
System.out.println("4.退出");
String num=sc.next();
Sysuser syc=new Sysuser(username,name,bir,password,year);
while(!num.equals("4"))
{
if(num.equals("1"))
{
System.out.println("请输入年龄:");
String year2=sc.next();
syc.modiyear(year2);
num=sc.next();
continue;
}
if(num.equals("2"))
{
System.out.println("请输入用户名:");
String username2=sc.next();
System.out.println("请输入密码:");
String password2=sc.next();
syc.un(username2,password2);
num=sc.next();
continue;
}
if(num.equals("3"))
{
syc.show();
num=sc.next();
continue;
}
}
}}

#运行结果

#注意事项

1.其实这题的思路很简单,主要问题是不同类之间的传参问题要用到this关键字,其次是针对多次输入问题,只需要在含有静态主函数的类中进行输入操作(我居然破天荒在另一个类中也写了输入,结果多调1个小时),然后传参到另一个类中,完成对数据的各项操作,最后是字符串的比较要用到equals()方法。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐