Java习题

day 2020 / 02 / 27

1.使用方法优化以下内容要求:每一个功能都编写为一个方法,包括进入银行系统在main方法只能调用一个方法。
在这里插入图片描述


import java.util.Scanner;
import java.util.regex.Pattern;

public class ATM {
    public static void main(String[] args) {

        if (login()) {
            ATM();
        }
    };

    public static boolean isInteger(String str) {
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }

    public static boolean login() {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入用户名");
        String username = in.next();
        System.out.println("请输入密码");
        String password = in.next();
        if (username.equals("admin") && password.equals("admin123")) {
            System.out.println("登录成功");

            return true;
        } else {
            System.err.println("用户名或密码错误");
            return false;
        }
    }

    public static void ATM() {
        Scanner in = new Scanner(System.in);
        System.out.println("==========欢迎使用ATM=============");
        System.out.println("1:开户 2:存款  3取款 4:转账 0:退出");
        System.out.println("请输入编号操作");
        String next = in.next();
        boolean flag = true;
        do {
            if (isInteger(next)) {
                flag = false;
            } else {
                System.out.println("非法字符,请重新输入选项:");
                next = in.next();
            }
        } while (flag);
        switch (Integer.parseInt(next)) {
            case 1:
                System.out.println("进行开户操作");
                break;
            case 2:
                System.out.println("进行存款操作");
                break;
            case 3:
                System.out.println("进行取款操作");
                break;
            case 4:
                System.out.println("进行开户操作");
                break;
            case 0:
                System.out.println("执行退出功能");
                break;
            default:
                System.out.println("不存在该选项,请重输");
                ATM();
                break;
        }
    }
}

2.编写加减乘除8个方法,都需要至少两个参数,4个方法将值返回,4个方法直接输出值。
4.定义一个方法,要求传入String一个数组,存放内容为自己想吃的美食,在方法内部遍历输出,main方法中调用。
5.写一个方法,提示用户输入一个数字n,计算1-n数字之和,使用递归实现。


import java.util.Scanner;

/**
 * 第二题
 */
public class exercises {
    public static void add(int a ,int b){
        System.out.println("a+b="+(a+b));
    }
    public static void subtract(int a ,int b){
        System.out.println("a-b="+(a-b));
    }
    public static void multiply(int a ,int b){
        System.out.println("a*b="+(a*b));
    }
    public static void divide(int a ,int b){
        System.out.println("a/b="+(a/b));
    }
    public static int add2(int a ,int b){
        return a+b;
    }
    public static int subtract2(int a ,int b){
        return a-b;
    }
    public static int multiply2(int a ,int b){
        return a*b;
    }
    public static int divide2(int a ,int b){
        return a/b;
    }
//第四题
    public static void main(String[] args) {
        String[] strings = new String[3];
        strings[0]="苹果";
        strings[1]="香蕉";
        strings[2]="菠萝";
        foreach(strings);
        //第五题
        Scanner in = new Scanner(System.in);
        System.out.println("请输入一个整数");
        of(in.nextInt(),0);
    }
    public static void foreach(String[] strs){
        for(String s:strs){
            System.out.println(s);
        };
    }

    //static int x=0;
    public static void of(int n,int x){
        if (n>=1){
            x=x+n;
            n--;
            of(n,x);
        }else {
            System.out.println(x);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值