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

#本关任务:

编写一个用户类(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;
}
}
}}

#运行结果

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

#注意事项

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

你可能感兴趣的:(java)