【java菜鸟日记7】使用枚举的简易计算器


前言

跟练狂神,做一个可连续计算的计算器

开始

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.Mycode;
import java.util.Scanner;
public class Calculation {
enum Operation{
ADD,SUB,MUL,IV,EXIT
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
while (true) {
System.out.println("请输入操作(ADD/SUB/MUL/IV/EXIT):");
String input = sc.next().toUpperCase();
if (input.equals("EXIT")) {
break;
}
Operation op;
try {
op = Operation.valueOf(input);
} catch (IllegalArgumentException e) {
System.out.println("输入错误,请输入有效操作");
continue;
}
System.out.println("请输入第二个数字:");
int b = sc.nextInt();
int result = 0;
switch (op) {
case ADD:
result = add(a, b);
break;
case SUB:
result = sub(a, b);
break;
case MUL:
result = mul(a, b);
break;
case IV:
result = div(a, b);
break;
default:
break;
}
System.out.println("当前结果:" + result);
a = result;
}
System.out.println("最终结果:" + a);
sc.close();
}

public static int add(int a, int b){
return a + b;
}
public static int sub(int a, int b){
return a - b;
}
public static int mul(int a, int b){
return a * b;
}
public static int div(int a, int b){
return a / b;
}
}

思路

  1. 读初始数字 → 存 a
  2. 循环 {
    1. 读操作 → 转枚举
    2. 读第二个数字 → 存 b
    3. switch(op) → 调对应方法算 a 和 b
    4. 结果存回 a
      }
  3. 退出,打印最终 a

收获

在本次写代码的过程中遇到很多坑,基本也是新手小白容易犯的坑,文件名和类名要一致、方法和枚举的位置要对、类型要匹配、static 要对应、循环变量要声明在外、异常要处理好,这是从写连续计算器中得到的经验。


文章作者: 上江 Yayoi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 上江 Yayoi !
  目录