Java实验2

希望能给你带来灵感

1.编一个学生类(Student),其中包含以下内容:

属性:学号studentNo,姓名studentName,性别studentGender,年龄studentAge。
方法:构造方法,显示学号方法showNo(),显示姓名方法showName(),显示性别方法showSex(),显示年龄方法showAge(),修改年龄方法modifyAge()。
主类(S3_1)包含:主方法main(),在其中创建两个学生对象s1和s2并初始化,两个对象的属性自行确定,然后分别显示这两个学生的学号、姓名、性别、年龄,然后修改s1的年龄并显示修改后的结果。

public class S3_1 {  //测试
    public static void main(String[] args) {
        Student s1= new Student(2125060277,"周金亮","女",19);
        Student s2= new Student(2025060277,"亮仔","男",20);

        s1.print();
        s2.print();

        s1.modifyAge(18);
        System.out.println("s1修改后的年龄为:");
        s1.showAge();
    }
}

class Student {
    //属性
    private int studentNo;//学号
    private String studentName;//姓名
    private String studentGender;//性别
    private int studentAge;//年龄

    //构造方法
    public Student(int studentNo, String studentName, String studentGender, int studentAge) {
        this.studentNo=studentNo;
        this.studentName=studentName;
        this.studentGender=studentGender;
        this.studentAge=studentAge;
    }

    public void showNo() {//显示学号
        System.out.println("学号:"+ studentNo);
    }

    public void showName() {//显示姓名
        System.out.println("姓名:"+ studentName);
    }

    public void showSex() {//显示性别
        System.out.println("性别:"+ studentGender);
    }

    public void showAge() {//显示年龄
        System.out.println("年龄:"+ studentAge);
    }

    public void modifyAge(int sAge) {//修改年龄
        this.studentAge = sAge;
    }

    public void print(){
        System.out.println("学号:"+ studentNo);
        System.out.println("姓名:"+ studentName);
        System.out.println("性别:"+ studentGender);
        System.out.println("年龄:"+ studentAge);
        System.out.println();
    }

}

2.2、编写一个简单计算器类

拥有加减乘除等方法,每个方法都有2个操作数,同为double类型或同为整型,方法设计为重载,在测试类里通过键盘输入操作数,显示计算结果。

import java.util.Scanner;
public class S3_2{
    public static void main(String[] args) {
        Calculator c = new Calculator();
        c.calc();
    }
}
class Calculator {
    //和
    public void add(double num1,double num2) {
        System.out.println(num1 + num2);
    }
    //差
    public void subtraction(double num1,double num2) {
        System.out.println(num1 - num2);
    }
    //积
    public void multiply(double num1,double num2) {
        System.out.println(num1 * num2);
    }
    //商
    public void divide(double num1,double num2) {
        if(num2==0) {
            System.out.println("除数不能为0!");
        }else {
            System.out.println(num1 / num2);
        }
    }
    public void calc() {
        boolean n=true;//退出循环的标志
        Scanner sc = new Scanner(System.in);
        while(n){
            System.out.println("请输入需要计算的第一个数:");
            int num1 = sc.nextInt();
            System.out.println("请输入需要计算的第二个数:");
            int num2 = sc.nextInt();
            System.out.println("请选择运算【+,-,*,/】");
            char op = sc.next().charAt(0);
            switch (op) {
                case '+':
                    add(num1, num2);
                    break;
                case '-':
                    subtraction(num1, num2);
                    break;
                case '*':
                    multiply(num1, num2);
                    break;
                case '/':
                    divide(num1, num2);
                    break;
                default:
                    System.out.println("您输入的运算符本程序不支持!");
                    break;
            }
            System.out.println("是否继续运算(退出输入0,继续输入1):");
            int m = sc.nextInt();
            if(m==1){
                n=true;
            }
            else{
                n=false;
            }
        }
    }

}

结果截图
在这里插入图片描述在这里插入图片描述

3.设计一个日期类

定义类的构造方法对日期进行初始化,在toString()中将其输出格式定为“月/日/年”。最后,编写一个测试程序来测试所定义的日期类能否实现预定的功能。

import java.util.Scanner;

public class S3_3 {
    public static void main(String[] args) {
        Date date = new Date();
        int day;
        int month;
        int year;
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入年份:");
        year = sc.nextInt();
        System.out.println("请输入月份:");
        month = sc.nextInt();
        if(month<1 || month>12){
            System.out.println("输入非法,请重新输入:");
            month = sc.nextInt();
        }
        System.out.println("请输入日期:");
        day = sc.nextInt();
        if(month==2){
            if(year%400==0||(year%100!=0&&year%4==0)){
                if(day<1 || day>29){
                    System.out.println("输入非法,请重新输入:");
                    day = sc.nextInt();
                }
            }
            else{
                if(day<1 || day>28){
                    System.out.println("输入非法,请重新输入:");
                    day = sc.nextInt();
                }
            }
        }
        if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
            if(day<1 || day>31){
                System.out.println("输入非法,请重新输入:");
                day = sc.nextInt();
            }
        }
        else {
            if(day<1 || day>30){
                System.out.println("输入非法,请重新输入:");
                day = sc.nextInt();
            }
        }

        date.toString(day,month,year);

    }
}
class Date{
    public Date(){

    }

    public void toString(int day,int month,int year) {
        System.out.println(month+"月"+day+"日"+year+"年");
    }
}


结果截图
在这里插入图片描述

4.设计一个分数类

分数的分子和分母用两个整型数表示,类所拥有的方法包括对分数进行加、减、乘、除等运算,以及输出分数的方法,输出分数的格式应该是:分子/分母。
在测试类中定义分数类对象,运算并输出运算结果。

import java.util.Scanner;

public class FractionsTest {
	public static void main(String[] args) {
		Fractions fractions =  new Fractions();
		@SuppressWarnings("resource")   //具体作用不清楚,但是不加有警告
		Scanner inTo = new Scanner(System.in);
		int fson1 = 0;
		int fson2 = 0;
		int fmom1 = 0;
		int fmom2 = 0;
		System.out.println("请输入第一个分数的分子:");
		fson1 = inTo.nextInt();
		System.out.println("请输入第一个分数的分母:");
		fmom1 = inTo.nextInt();
		System.out.println("请输入第二个分数的分子:");
		fson2 = inTo.nextInt();
		System.out.println("请输入第二个分数的分母:");
		fmom2 = inTo.nextInt();
		System.out.println("运算");
		System.out.print("\n");
		fractions.fAdd(fson1, fmom1, fson2, fmom2);
		System.out.print("\n");
		fractions.fSub(fson1, fmom1, fson2, fmom2);
		System.out.print("\n");
		fractions.fMul(fson1, fmom1, fson2, fmom2);
		System.out.print("\n");
		fractions.fDiv(fson1, fmom1, fson2, fmom2);
	}
}

class Fractions {
	int fson;
	int fmom;

	//求分子分母的最大公约数
	public int gcd(int a,int b) {
		if(a < b) {//先比较分子分母的大小,方便后面取余
			int c = a;
			a = b;
			b = c;
		}
		int r = a % b;
		while(r != 0) {
			a = b;
			b = r;
			r = a % b;
		}
		return b;
	}
	//分数加法
	public void fAdd(int fson1,int fmom1,int fson2,int fmom2) {
		int fm = fmom1*fmom2;
		fson1 = fson1*fmom2;
		fson2 = fson2*fmom1;
		int fs = fson1+fson2;
		int g = gcd(fs, fm);
		System.out.println("最大公约数:"+g);
		fs = fs / g;
		fm = fm / g;
		System.out.println("加法运算后结果中分子为:"+fs);
		System.out.println("加法运算后结果中分母为:"+fm);
		System.out.println("即分数为:"+fs+"/"+fm);
	}
	//分数减法
	public void fSub(int fson1,int fmom1,int fson2,int fmom2) {
		int fm = fmom1*fmom2;
		fson1 = fson1*fmom2;
		fson2 = fson2*fmom1;
		int fs = fson1-fson2;
		int g = gcd(fs, fm);
		fs = fs / g;
		fm = fm / g;
		System.out.println("减法运算后结果中分子为:"+fs);
		System.out.println("减法运算后结果中分母为:"+fm);
		System.out.println("即分数为:"+fs+"/"+fm);
	}
	//分数相乘
	public void fMul(int fson1,int fmom1,int fson2,int fmom2) {
		int fm = fmom1*fmom2;
		int fs = fson1*fson2;
		int g = gcd(fs, fm);
		fs = fs / g;
		fm = fm / g;
		System.out.println("乘法运算后结果中分子为:"+fs);
		System.out.println("乘法运算后结果中分母为:"+fm);
		System.out.println("即分数为:"+fs+"/"+fm);
	}
	//分数相除
	public void fDiv(int fson1,int fmom1,int fson2,int fmom2) {
		int fm = fmom1*fson2;
		int fs = fson1*fmom2;
		int g = gcd(fs, fm);
		fs = fs / g;
		fm = fm / g;
		System.out.println("除法运算后结果中分子为:"+fs);
		System.out.println("除法运算后结果中分母为:"+fm);
		System.out.println("即分数为:"+fs+"/"+fm);
	}
}

结果截图
在这里插入图片描述

5.公司出勤

(1)设计一个雇员类,属性包括:编号、姓名、年龄、职务、部门,要求合理选定属性类型;该雇员类还拥有统计出勤人数的功能,可以考虑为雇员类设计一个静态属性;方法包括:构造方法、输出信息的方法、签到方法;
(2)创建雇员类对象,统计雇员的出勤人数。
注意考虑属性和方法的访问权限,方法的功能,及main方法中如何实现要求统计的信息。

import java.util.Scanner;

public class S3_5 {
	public static void main(String[] args) {
		Staff staff = new Staff();
		System.out.println("开始签到");
		staff.SignIn();
		System.out.println("签到结束,开始输出签到数据");
		staff.output();
	}
}

class Staff { //员工类 因为是个签到程序,一个对象要存储多个数据,所以使用数组存储一组数据
	Scanner input = new Scanner(System.in);
	public String[] num = new String[666]; 
	public String[] name = new String[666];
	public String[] age = new String[666];
	public String[] job  = new String[666];
	public String[] department = new String[666];
	public int attendNum = 0;  //统计签到人数

	public Staff() { //构造函数 不需提前数据,为空
	}

	//签到函数
	public void SignIn () { 
		boolean run=true;
		int i=0;
		int p; //判断是否结束签到
		while (run) {
			System.out.print("请输入你的编号:"); 
			this.num[i] = input.nextLine();
			System.out.print("请输入你的姓名:");
			this.name[i] = input.nextLine();
			System.out.print("请输入你的年龄:");
			this.age[i] = input.nextLine();
			System.out.print("请输入你的职务:");
			this.job[i] = input.nextLine();
			System.out.print("请输入你的部门:");
			this.department[i] = input.nextLine();
			this.attendNum++;
			System.out.print("如果你是最后一个签到的请输入1,反之输入0:");
			p=input.nextInt();
			System.out.println();
			i++;
			if (p==1) {
				run=false;
			}
		}
	}
		
	public void output() {  //信息输出函数
		System.out.println("出勤人数合计为"+this.attendNum);
		for(int i = 0;i<this.attendNum;i++) {
			System.out.println("编号:"+num[i]);
			System.out.println("姓名:"+name[i]);
			System.out.println("年龄:"+age[i]);
			System.out.println("职务:"+job[i]);
			System.out.println("部门:"+department[i]);
			System.out.println("\n");
		}
	}
}

结果截图
在这里插入图片描述

6.设计一个电视机类

属性包括商品编号、开关状态、音量、频道等,同时设计一些方法对电视机的状态进行控制。例如,方法应包括开/关电视机、更换频道、提高/减小音量等。要求商品编号自动生成(可以考虑为电视机类设置一个管理商品编号的静态成员变量,或者专门设置一个编号管理类)。
注意:有些成员变量需要定义为静态的(static),控制和操纵静态成员变量的方法应是静态的(static)。

import java.util.Calendar;
import java.util.Scanner;

public class S3_6 {
    public static void main(String[] args) {
        TV tv=new TV();
        tv.menu();
        tv.tvprint();
        int n;
        do{
            Scanner sc =new Scanner(System.in);
            n=sc.nextInt();
            switch (n){
                case 1:tv.open(); break;
                case 2:tv.channel();break;
                case 3:tv.voice();break;
                case 4:tv.close();break;
                case 5:break;
            }
        }while(n!=5);

    }
}

class TV{
    boolean s;//开关状态
    TV(){
        s = false; //关闭状态
    }
    void setTvno(){
        Calendar cal=Calendar.getInstance();
        System.out.print(cal.get(Calendar.YEAR));
        System.out.print(cal.get(Calendar.MONTH));
        System.out.print(cal.get(Calendar.DATE));
        System.out.print(cal.get(Calendar.HOUR_OF_DAY));
    }

    void tvprint(){  //Tv状态描述
        System.out.print("编号:");
        setTvno();
        System.out.println();
        if(s==false){
            System.out.println("状态:关");
        }else{
            System.out.println("状态:开");
        }
    }

    void open(){   //打开电视
        s=true;
        System.out.println("打开电视");
    }
    void close(){
        s=false;
        System.out.println("关闭电视");
        System.out.println("按5退出");
    }

    void voice(){
        System.out.println("请调节音量!");
        Scanner v =new Scanner(System.in);
        int voice =v.nextInt();
        if(voice<0){
            for(int i=voice;i<0;i++){
                System.out.println("voice-1");
            }
        }else{
            for(int i=0;i<voice;i++){
                System.out.println("voice+1");
            }
        }
        System.out.println();
    }

    void channel(){
        System.out.println("请调节频道!");
        Scanner c =new Scanner(System.in);
        int channel =c.nextInt();
        System.out.println("更换至"+channel+"频道");
        System.out.println();
    }

    void menu(){
        System.out.println("1----打开电视");
        System.out.println("2----更换频道(输入数字1~100)");
        System.out.println("3----调高音量(输入1~15)调低音量(输入-1~-15)");
        System.out.println("4----关闭电视(输入0关闭)");
        System.out.println("5----退出");
    }
}

结果截图
在这里插入图片描述在这里插入图片描述

7.模仿ATM取款过程。

首先编写一个账户类,成员变量包含账号、储户姓名和存款余额以及密码,再编写一个ATM机类,属性包括账户列表,方法有登录,存款和取款。编写一个测试类来测试所定义的账户类能否实现预定的功能。

import java.text.SimpleDateFormat;//时间包
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class S3_8 {
    public static void main(String[] args) {
        //1、准备系统需要的容器对象,用于存储账户对象
        ArrayList<Account> accounts = new ArrayList<>();

        //2、准备系统的首页:登录
        TAMSystem.showMain(accounts);
    }
}

class Account {
    private final String id;  //账号
    private final String name; //姓名
    private double deposit; //存款余额
    private String password;//密码
    private final String date;     //日期
    private double quotaMoney =200;//当次提现额度

    public Account(String id,String name,double deposit,String password){
        this.id = id;
        this.name = name;
        this.deposit =deposit;
        this.password =password;
        //获取系统当前时间并将时间格式化位指定格式
        this.date = new SimpleDateFormat("yyyy年MM月dd日,HH时mm分ss秒").format(new java.util.Date());
    }

    public String getName() {
        return name;
    }

    public String getDate() {
        return date;
    }

    public String getPassword(){
        return password;
    }

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

    public String getId() {
        return id;
    }

    public double getDeposit() {
        return deposit;
    }
    public void setDeposit(double deposit) {
        this.deposit = deposit;
    }
    public double getQuotaDeposit(){
        return quotaMoney;
    }
}

 class TAMSystem {
    public static void showMain(ArrayList<Account> accounts) {
        System.out.println("=============欢迎进入首页=============");
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请您输入您想做的操作:");
            System.out.println("1、登录");
            System.out.println("2、开户");
            System.out.println("您可以输入命令了:");

            int command = sc.nextInt();
            switch (command) {
                case 1:
                    //登录
                    login(accounts, sc);
                    break;
                case 2:
                    //开户
                    register(accounts, sc);
                    break;
                default:
                    System.out.println("您输入的指令错误!");
            }
        }
    }

    /*
     * 完成用户登录
     * */
    private static void login(ArrayList<Account> accounts, Scanner sc) {
        //必须系统中存在账户才可以登录
        if (accounts.size() == 0) {
            //没有任何账户
            System.out.println("当前系统中无任何账户,您需要先注册!");
            return;
        }
        //2、让用户输入卡号
        while (true) {
            System.out.println("请您输入登录卡号:");
            String cardId = sc.next();
            //根据卡号查询对象
            Account acc = getAccountById(cardId, accounts);
            //3、判断账户是否存在,存在说明卡号没问题
            if (acc != null) {
                while (true) {
                    //4、让用户继续输入密码
                    System.out.println("请您输入登录密码:");
                    String password = sc.next();
                    //5、判断密码是否正确
                    if (acc.getPassword().equals(password)) {
                        //密码正确,登录成功
                        //展示系统登录后的操作界面
                        System.out.println("恭喜您," + acc.getName() + "先生/女士成功进入系统,您的卡号是:" + acc.getId());
                        //展示操作页面
                        showUserCommand(sc, acc, accounts);
                        return;//结束登录方法

                    } else {
                        System.out.println("您输入的密码有误,请确认!");
                    }
                }
            } else {
                System.out.println("对不起,您的卡号不存在!");
            }

        }
    }

    /*
     *  展示操作页面
     * */
    public static void showUserCommand(Scanner sc, Account acc, ArrayList<Account> accounts) {
        System.out.println("=============用户操作界面============");
        System.out.println("1、查询账户");
        System.out.println("2、存款");
        System.out.println("3、取款");
        System.out.println("4、转账");
        System.out.println("5、修改密码");
        System.out.println("6、退出");
        System.out.println("7、注销账户");
        System.out.println("请您输入操作命令:");
        while (true) {
            int command = sc.nextInt();
            switch (command) {
                case 1:
                    //查询账户
                    showAccount(acc);
                    break;
                case 2:
                    //存款
                    depositMoney(acc, sc);
                    break;
                case 3:
                    //取款
                    drawMoney(acc, sc);
                    break;
                case 4:
                    //转账
                    transferMoney(accounts, acc, sc);
                    break;
                case 5:
                    //修改密码
                    updataPassWord(acc, sc);
                    return;
                case 6:
                    //退出
                    System.out.println("欢迎下次光临");
                    return;
                case 7:
                    //注销账户
                    accounts.remove(acc);
                    System.out.println("销户成功!");
                    return;
                default:
                    System.out.println("您输入的命令有误~");
            }
        }


    }

    /*
     * 修改密码
     * */
    private static void updataPassWord(Account acc, Scanner sc) {
        System.out.println("===============修改密码==============");
        System.out.println("请输入正确的密码:");
        String okPassWord = sc.next();
        //判断密码是否正确
        if (acc.getPassword().equals(okPassWord)) {
            //可以输入新密码
            while (true) {
                System.out.println("请您输入新密码:");
                String newPassWord = sc.next();
                System.out.println("请您再次确认密码:");
                String oknewPassWord = sc.next();
                if (newPassWord.equals(oknewPassWord)) {
                    //修改账户密码为新密码
                    acc.setPassword(newPassWord);
                    return;//结束
                } else {
                    System.out.println("您两次输入密码不一致~");
                }
            }
        } else {
            System.out.println("当前输入的密码不一致~~~");
        }


    }

    /*
     * 转账功能
     * */
    private static void transferMoney(ArrayList<Account> accounts, Account acc, Scanner sc) {
        //1、判断系统中是否有2个账户及以上
        if (accounts.size() < 2) {
            System.out.println("对不起,系统中无其他账户,您不可以转账!");
            return;
        }
        //2、判断自己的账户中是否有钱
        if (acc.getDeposit() == 0) {
            System.out.println("对不起,自己都没钱呢,就别转了~~~");
            return;
        }
        //3、开始转账逻辑
        while (true) {
            System.out.println("请您输入对方的卡号:");
            String cardId = sc.next();
            Account account = getAccountById(cardId, accounts);
            //判断这个账户对象是否存在,存在说明对方卡号输入正确
            if (account != null) {
                //判断这个账户对象是否是当前登录的账户自己
                if (account.getId().equals(acc.getId())) {
                    System.out.println("您不能给自己转账!");
                } else {
                    //进入到姓氏确认
                    String name = "*" + account.getName().substring(1);
                    System.out.println("请您确认【" + name + "】的姓氏:");
                    String preName = sc.next();
                    if (account.getName().startsWith(preName)) {
                        //真正开始转账了
                        System.out.println("请您输入转账的金额:");
                        double money = sc.nextDouble();
                        //判断这个金额是否超过了自己的余额
                        if (money > acc.getDeposit()) {
                            System.out.println("对不起,您要转账的金额太多,您最多可以转账:" + acc.getDeposit());
                        } else {
                            //可以转账了
                            acc.setDeposit(acc.getDeposit() - money);
                            account.setDeposit(account.getDeposit() + money);
                            System.out.println("恭喜您,转账成功了,已经为" + account.getName() + "转账多少:" + money);
                            showAccount(acc);
                            return;
                        }
                    } else {
                        System.out.println("对不起,您认证的信息有误~~~");
                    }
                }
            } else {
                System.out.println("对不起,您输入的卡号有问题!");
            }
        }
    }

    /*
     * 取款方法
     * */
    private static void drawMoney(Account acc, Scanner sc) {
        System.out.println("=============取款=================");
        //1、判断他的账户是否大于100元
        if (acc.getDeposit() >= 100) {
            while (true) {
                System.out.println("请您输入取款金额:");
                double money = sc.nextDouble();
                //2、判断这个金额有没有超过当前限额
                if (money > acc.getQuotaDeposit()) {
                    System.out.println("您当次取款金额超过每次数量,不要取那么多,每次最多可取:" + acc.getQuotaDeposit());
                } else {
                    //3、判断当前余额是否满足取钱
                    if (acc.getDeposit() >= money) {
                        //够钱,可以取钱了
                        acc.setDeposit(acc.getDeposit() - money);
                        System.out.println("恭喜您,取钱" + money + "成功啦!当前账户还剩余:" + acc.getDeposit());
                        return;//取钱后干掉方法
                    } else {
                        System.out.println("余额不足啊!");
                    }
                }
            }
        } else {
            System.out.println("您自己的金额没有超过100元,就别取了~~");
        }
    }

    /*
     * 存钱方法
     * */
    private static void depositMoney(Account acc, Scanner sc) {
        System.out.println("=============存钱=================");
        System.out.println("请您输入存款金额:");
        Double money = sc.nextDouble();
        //直接把金额修改到账户对象的money属性中去
        acc.setDeposit((acc.getDeposit() + money));
        System.out.println("存款完成!!");
        showAccount(acc);
    }

    /*
     * 显示用户信息
     * */
    private static void showAccount(Account acc) {
        System.out.println("============当前用户详情===========");
        System.out.println("卡号" + acc.getId());
        System.out.println("姓名" + acc.getName());
        System.out.println("余额" + acc.getDeposit());
        System.out.println("当次限额" + acc.getQuotaDeposit());
    }

    /**
     * 用户开户功能
     */
    public static void register(ArrayList<Account> accounts, Scanner sc) {
        System.out.println("=============用户开户功能=============");
        //2、键盘录入  姓名 密码 确认密码
        System.out.println("请您输入开户名称:");
        String name = sc.next();
        String password = "";
        while (true) {
            System.out.println("请您输入开户密码:");
            password = sc.next();
            System.out.println("请您输入确认密码:");
            String okPassword = sc.next();
            //判断两次输入密码是否一致
            if (okPassword.equals(password)) {
                break;
            } else {
                System.out.println("两次密码不一致,请重新输入!");
            }
        }
        System.out.println("请您输入存钱数额:");
        Double quotaMoney = sc.nextDouble();
        //3、生成账户的卡号,卡号是8位,不能有重复
        String cardId = creatCardId(accounts);
        //4、创建一个账户对象封装账户信息
        Account account = new Account(cardId, name, quotaMoney,password);
        //5、把账户对象添加到集合里面去
        accounts.add(account);
        System.out.println("恭喜您,开户成功,您的卡号是:" + account.getId() + ",请您妥善保管");
    }

    /*
     * 生成随机8位卡号方法
     * */
    public static String creatCardId(ArrayList<Account> accounts) {
        while (true) {
            //生成8位随机数字代表卡号
            String cardId = "";
            Random r = new Random();
            for (int i = 0; i < 8; i++) {
                cardId += r.nextInt(10);
            }
            //判断卡号是否重复了
            Account acc = getAccountById(cardId, accounts);
            if (acc == null) {
                //说明卡号没有重复
                return cardId;
            }
        }
    }
    /*
     * 判断卡号是否重复方法
     * */
    public static Account getAccountById(String cardId, ArrayList<Account> accounts) {
        //根据卡号查询账户对象
        for (int i = 0; i < accounts.size(); i++) {
            Account acc = accounts.get(i);
            if (acc.getId().equals(cardId)) {
                return acc;
            }
        }
        return null;
    }
}


结果截图
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


家人们,关注点赞收藏呀!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值