ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-19 罗佳明 第八小组 学习笔记

2022-07-19 22:03:57  阅读:76  来源: 互联网

标签:07 19 System 罗佳明 int User println public out


一、思维导图

 

 

 

二、学习内容

整合两个测试

测试一:构造参数赋值

package com.jsoft.morning.test01;

import java.time.Period;
import java.util.Scanner;


public class Demo {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Person person = new Person("skipper",25);
        Debit debit = new Debit(378568192,386623,11294);
        person.openAccount(debit);
        person.in(100);
        person.out(50);
    }


}
//**************************************************************************

package com.jsoft.morning.test01;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Person person = new Person("skipper", 25);
        for (; ; ) {
            System.out.println("请选择功能:1、开户2、存款3、取款");
            String flag = sc.next();
            switch (flag) {
                case "1":
                    System.out.println("请输入账户密码:");
                    int password = sc.nextInt();
                    System.out.println("请输入余额");
                    double blance = sc.nextDouble();
                    Debit debit = new Debit(32867639, password, blance);
                    person.openAccount(debit);
                    break;
                case "2":
                    System.out.println("请输入密码:");
                    int pass = sc.nextInt();
                    //接下来要去比对面没
                    //取款的时候需要比对密码
                    //存款也需要比对密码
                    //取款存款都需要比对密码,把类似的功能的代码封装成一个方法
                    //如果一堆的方法都需重复使用我们还可以把一堆的方法封装成一个类(工具类)
                    boolean b = person.valid(pass);
                    if (b) {
                        System.out.println("请输入存款金额");
                        double money = sc.nextDouble();
                        person.in(money);
                    } else {
                        System.out.println("密码有误,无法存款");
                    }

                    break;
                case "3":
                    System.out.println("请输入密码:");
                    int pass1 = sc.nextInt();
                    boolean b1 = person.valid(pass1);
                    if (b1) {
                        System.out.println("请输入取款金额");
                        double money = sc.nextDouble();
                        person.out(money);
                    } else {
                        System.out.println("密码有误,无法取款");
                    }
                    break;
            }

        }
    }
}

//****************************************************************************************************
package com.jsoft.morning.test01;
//如果一个类手写构造器,原来的无参构造器失效
//保证每个类都有无参构造器
public class Person {
    String name;
    int age;

    Debit debit;

    public Person() {

    }

    public Person(String name, int age){
        this.name=name;
        this.age=age;
    }

    public void openAccount(Debit debit){
        this.debit = debit;
        //开户成功,显示开户信息
        debit.show();
        this.show();
    }
    public void in(double money){
        debit.balance += money;
        System.out.println("存款成功,余额为"+debit.balance);
    }
    public void out(double money){
        if (money<debit.balance){
            debit.balance -= money;
            System.out.println("取款成功,余额为"+debit.balance);
        }else {
            System.out.println("余额不足");
        }

    }
    public void show(){
        System.out.println("姓名"+name+"年龄"+age);
    }
    public boolean valid(int pass){
        if (pass == debit.passsword){
            return true;
        }
        return false;


    }


}
//*************************************************************************************************** package com.jsoft.morning.test01; public class Debit { int cardId; int passsword; double balance; public Debit() { } public Debit(int cardId, int passsword, double balance) { this.cardId = cardId; this.passsword = passsword; this.balance = balance; } public void show(){ System.out.println("卡号"+cardId+"余额"+balance); } }

 

测试二:this关键字,setter、getter方法

 

package com.jsoft.afternoon.test01;

import java.util.Scanner;

/*
    注册和登录
    封装:属性一定要私有化,提供公有的set、get方法
    1、创建一个User类,username和password
    2、创建一个Employee,id和name
    3、Demo类、

    登录:
    输入账号和密码然后和数组比对
    遍历数组,分别比对账号和面,如果比对成功,则输出登录成功,则输入账号或密码错误!

    注册2.0
    用户名不能重复!
    遍历,用户名和数组的用户名比对一下
 */
public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // User类型的数组
        // User类型的数中保存的就是一个一个的User对象
        // 当从User类型的数组中取值的时候,比如说users[0]是一个User类型的对象

        User [] users = new User[10];
        users[0] = new User(123456,123456);
        int index = 1;
        main:for (;;){
            System.out.println("请选择功能:1、注册  2、登录");
            String flag = sc.next();
            u:for(;;){
                switch (flag) {
                    case "1":
                        System.out.println("请输入账号:");
                        int username = sc.nextInt();
                        for (User user : users) {
                            if(user != null){
                                if(username == user.getUsername()){
                                    System.out.println("用户名不能重复,请重新输入!");
                                    continue u;
                                }
                            }
                        }
                        System.out.println("请输入密码:");
                        int password = sc.nextInt();
                        // 保存账号密码,保存的是User对象
                        // 构建User对象
                        User user = new User(username,password);
                        users[index] = user;
                        System.out.println("注册成功,账号:" + users[index].getUsername() + ",密码:" + users[index].getPassword());
                        index ++;
                        continue main;
                    case "2":
                        System.out.println("请输入账号:");
                        int username1 = sc.nextInt();
                        System.out.println("请输入密码:");
                        int password1 = sc.nextInt();
                        boolean b = false;
                        for (User u : users) {
                            if(u != null){
                                if(u.getUsername() == username1 && u.getPassword() == password1) {
                                    b = true;
                                    break;
//                                System.out.println("登录成功!");
                                }
//                          System.out.println("账号或密码错误!")
                            }
                        }
                        if(b) {
                            System.out.println("登录成功!");
                        }else {
                            System.out.println("账号或密码错误!");
                        }
                }
            }


        }

    }
    }

//************************************************************************************************************
***************************************
package com.jsoft.afternoon.test01;

public class Demo02 {
    User user;

    public void show() {
        user.getPassword();
    }

    public static void main(String[] args) {
        Demo02 d = new Demo02();
        d.show();

    }
}
//**************************************************************************************************************
package com.jsoft.afternoon.test01;

public class Employee {
    private int id;
    private int name;

    public void setId(int id) {
        this.id = id;
    }

    public void setName(int name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public int getName() {
        return name;
    }
}
//*******************************************************************************************
package com.jsoft.afternoon.test01;

public class User {
    private int username;
    private int password;
    public User(){}

    public User(int username, int password) {
        this.username = username;
        this.password = password;

    }

    public void setUsername(int username) {
        this.username = username;
    }

    public void setPassword(int password) {
        this.password = password;
    }

    public int getUsername() {
        return username;
    }

    public int getPassword() {
        return password;
    }
}

 

三、学习感受

 

标签:07,19,System,罗佳明,int,User,println,public,out
来源: https://www.cnblogs.com/ljmskipper/p/16495207.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有