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