管理员类
package shop;
public class Administrator {
//为了方便AlterPassword方法中的比较,在此直接给属性赋值。如果此处不赋值,
//则必须在AlterPassword方法比较前赋值,以免为null。
//或者可以在此声明属性为static(即全局变量),则Administrator中的属性均为全局变量
String name="杨博";
String password="123456";
void show(){
System.out.println("姓名:"+name+",密码:"+password);
}
}
用户类
package shop;
public class Customer {
String name;
String password;
String type;
int noSum;
void show() {
System.out.println("姓名:" + name + ",密码:" + password + ",会员类型:" + type
+ ",积分:" + noSum);
}
}
修改密码类
package shop;
import java.util.Scanner;
public class AlterPassword {
String name; // 用于存放输入的用户名
String password; // 用于存放输入的密码
String newPassword;// 用于存放第二次输入的密码
void alter() {
Scanner input = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println("请输入用户名:");
name = input.next();
System.out.println("请输入密码:");
password = input.next();
// 注意:在此给管理员类从新实例了对象。如果:管理员类中,属性为默认值,则在此还是默认值,必须给实例赋值
Administrator a = new Administrator();
if (name.equals(a.name) && password.equals(a.password)) {
System.out.println("请输入新密码");
password = input.next();
System.out.println("请再次输入新密码");
newPassword = input.next();
while (1 == 1) {
if (password.equals(newPassword)) {
System.out.println("修改密码成功,您的新密码是:" + password);
break;
} else {
System.out.println("您俩次输入的密码有误,请重新输入");
continue;
}
}
} else {
if (i == 2) {
System.out.println("您已错误3次,请稍后在试");
}
System.out.println("用户名/密码错误,请从新输入");
continue;
}
break;
}
}
}
回馈及分类
package shop;
public class Feedback {
String type;
int noSum;
void feedBack(String type,int noSum){
if(type.equals("金卡")){
if(noSum>1000){
System.out.println("回馈积分500分");
}
}
else if(type.equals("普通")){
if(noSum>5000){
System.out.println("回馈积分500分");
}
}
}
}
程序的入口,主类
package shop;
import java.util.Scanner;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
//如果此处声明了Administrator的一个实例,并给用户,密码属性赋值,
//但是调用AlterPassword的方法时,AlterPassword中同样给管理员类实例了一个对象
//则比较的还是没有赋值前的属性。这点需要注意!
AlterPassword a=new AlterPassword();
a.alter();
Customer b=new Customer();
Scanner input=new Scanner(System.in);
System.out.println("积分:");
b.noSum=input.nextInt();
System.out.println("会员类型");
b.type=input.next();
Feedback c=new Feedback();
c.feedBack(b.type, b.noSum);
}
}