一个关于java的编程问题

在包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)在当中判断两次输入是不是相等,是的话跳出。