题目
写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。思路推荐:
- 写4个方法:加减乘除
- 利用循环+switch进行用户交互
- 传递需要操作的两个数
- 输出结果
笔者解法
import java.util.Scanner;
/**
* @program: project
* @description: 计算器小练习
* @author: 小北丶
* @create: 2022-02-21 19:08
**/
public class calculator {
public static int num1;
public static int num2;
public static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
System.out.println("请选择运算你形式,1-加 2-减 3-乘 4-除 5-退出运算器");
if (scanner.hasNextInt()) {
switch (scanner.nextInt()) {
case 1: {
getNums();
System.out.println(num1 + "+" + num2 + "=" + add(num1, num2));
break;
}
case 2: {
getNums();
System.out.println(num1 + "-" + num2 + "=" + minus(num1, num2));
break;
}
case 3: {
getNums();
System.out.println(num1 + "*" + num2 + "=" + multiply(num1, num2));
break;
}
case 4: {
getNums();
System.out.println(num1 + "/" + num2 + "=" + divide(num1, num2));
break;
}
case 5: {
scanner.close();
System.out.println("程序已退出");
return;
}
default:{
System.out.println("输入数据错误");
}
}
} else{
scanner.next();
System.out.println("输入数据错误");
}
}
}
//获取运算数
static void getNums() {
while (true) {
System.out.println("请输入第一个运算数据");
if (scanner.hasNextInt()) {
num1 = scanner.nextInt();
} else {
scanner.next();
System.out.println("输入错误请从新输入");
continue;
}
System.out.println("请输入第二个运算数据");
if (scanner.hasNextInt()) {
num2 = scanner.nextInt();
return;
} else {
scanner.next();
System.out.println("输入错误请从新输入");
continue;
}
}
}
static int add(int num1, int num2) {
return num1 + num2;
}
static int minus(int num1, int num2) {
return num1 - num2;
}
static int multiply(int num1, int num2) {
return num1 * num2;
}
static int divide(int num1, int num2) {
return num1 / num2;
}
}