20162326齐力锋 第九周课堂实验-简易计算器博客补写

  • 简易计算器运行截图: 20162326齐力锋 第九周课堂实验-简易计算器博客补写_第1张图片

  • 问题1:简易计算器实验中,在if语句判定第一个形参是否为+,-,或其他运算符号时,我起初使用
if (arg[1]=="+")

来判定,结果发现这样做不行,result并没有被赋值。

  • 问题1解决方法: 我咨询了一下王老师,明白了,args[]形参相当于字符串,而相等运算符是不能判断字符串的,字符串是否相等要使用String.equals()方法。
   public class Calc {
      public static void main(String [] args) {
  
          int result = 0;
   
          if (args.length != 3) {
              System.out.println("Usage: java Calc operato1 operand(+ - * / %) operator2");
           }
  
          //+ - * / 和%运算         
  
          else
       { Integer.parseInt(args[0]);
        Integer.parseInt(args[2]);
        }
  
     if (args[1].equals("+"))
    result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
  
 
     if (args[1].equals("-"))
    result = Integer.parseInt(args[0])- Integer.parseInt(args[2]);
 
     if(args[1].equals("x"))
   result = Integer.parseInt(args[0])* Integer.parseInt(args[2]);
  
      if (args[1].equals("/"))
   result = Integer.parseInt(args[0])/ Integer.parseInt(args[2]);
  
      if (args[1].equals("%"))
   result = Integer.parseInt(args[0])% Integer.parseInt(args[2]);
  
  
  System.out.println(result);
 
 
        System.out.println(args[0] + "         " + args[1] + " " + args[2] + " = " + result);
 
     }
  }
  
  • 问题2:在简易计算器代码中,使用 if(args[1].equals("*"))
    发现出现了问题
  • 问题解决方法:我首先猜测了一下为什么不行。我想到,*不仅是乘法运算,在命令行下,它还是一种省略,所以我换了一种表达,

if(args[1].equals("x"))
用X号替代*,结果成功!

20162326齐力锋 第九周课堂实验-简易计算器博客补写_第2张图片

你可能感兴趣的:(20162326齐力锋 第九周课堂实验-简易计算器博客补写)