在包baidu.com中定义类User:
属性:用户名(公开),密码(私有)
方法:
获取用户名,设置用户名,获取密码,设置密码;
在包sina.com中定义类Manager:
属性:User类对象
方法:
构造方法:输入用户名和密码,创建User类对象赋值给属性。
更改密码:首先要求用户输入原密码,输入正确后输入两次新密码,输入相同则更改用户密码为新输入的密码,两次输入不同要求用户重新输入,直到两次输入的密码相同。
在main方法中,创建Manager类对象,更改用户密码。
不是很会做,求大神赐教,最好能多点解释,谢谢了
User类:
package baidu.com;
public class User {
public String uname;
private String upass;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public User(String uname, String upass) {
super();
this.uname = uname;
this.upass = upass;
}
@Override
public String toString() {
return "User [uname=" + uname + ", upass=" + upass + "]";
}
}
Manager类:
package sina.com;
import java.util.Scanner;
import baidu.com.User;
public class Manager {
private User user;
public Manager(User user) {
super();
this.user = user;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public void changepass(){
Scanner cin = new Scanner(System.in);
System.out.println("请输入原密码");
if(cin.next().equals(user.getUpass())){
System.out.println("原密码输入正确");
while(true){
System.out.println("请输入新密码:");
String temp = cin.next();
System.out.println("请再次输入新密码:");
if(cin.next().equals(temp)){
this.user.setUpass(temp);
break;
}
else{
System.out.println("两次密码不一致");
}
}
}
else{
System.out.println("原密码输入错误");
}
}
}
主类:
package com.main;
import java.util.Scanner;
import baidu.com.User;
import sina.com.Manager;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
System.out.println("请输入用户名:");
String uname = cin.next();
System.out.println("请输入密码:");
String upass = cin.next();
Manager manager = new Manager(new User(uname, upass));
System.out.println("初始用户信息为:"+manager.getUser().toString());
manager.changepass();
System.out.println("结果用户信息为:"+manager.getUser().toString());
}
}
User类中getPassword(),然后用equles()比较,scanner接受用户输入。
别忘了写个死循环,在里面判断第一次密码输入是否正确,正确之后跳出,接着在写个死循环,定义两个变量,从键盘输入,equals方法比较两次的直是不是一样,一样跳出,把直付给user的password,不一样重新输入!
一楼 正解。
1.先用一个while(true)来判断输入的是不是旧密码,是的话跳出。
2.再用一个while(true)在当中判断两次输入是不是相等,是的话跳出。