练习类和对象的程序:积分回馈

 

 

管理员类

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);
 }

}

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值