21xrx.com
2024-12-22 23:11:31 Sunday
登录
文章检索 我的文章 写文章
小米Java笔试题
2023-06-17 19:15:26 深夜i     --     --
小米 Java 计算器程序

小米是一家国际知名的科技公司,其产品涵盖智能手机、智能家居、电视等,与此同时小米也大力发展自己的软件团队,其中Java工程师是不可或缺的一部分。为了选拔优秀的Java工程师,小米公司在笔试中出了以下的题目:

题目描述:

使用Java编程实现一个简单的计算器程序,用户输入两个数和操作符,程序输出计算结果。

要求:

- 使用面向对象的方式实现,包括类和方法的定义。

- 操作符包括加、减、乘、除,用户输入的操作符不能为其他字符,不能连续输入两个操作符,需要有输入提示。

- 若用户输入非数值类型的字符或格式错误,程序需要有异常处理。

- 能够处理浮点数。

解析:

题目要求我们使用面向对象的方式来实现一个简单的计算器程序。我们可以定义一个Calculator类,其中包含两个double类型的变量num1和num2,表示需要进行计算的两个数;还有一个char类型的变量operator,表示操作符。接着我们在类中定义四个方法addition、subtraction、multiplication和division,分别实现加、减、乘、除四种运算方式,最后在程序中根据用户输入的操作符来调用不同的方法即可。

代码实现如下:


import java.util.Scanner;

public class Calculator {

  private double num1;

  private double num2;

  private char operator;

  public Calculator()

  

  public Calculator(double num1, double num2, char operator)

    this.num1 = num1;

    this.num2 = num2;

    this.operator = operator;

  

  public void setNum1(double num1)

    this.num1 = num1;

  

  public double getNum1()

    return num1;

  

  public void setNum2(double num2)

    this.num2 = num2;

  

  public double getNum2()

    return num2;

  

  public void setOperator(char operator)

    this.operator = operator;

  

  public char getOperator()

    return operator;

  

  public double addition() {

    return num1 + num2;

  }

  public double subtraction()

    return num1 - num2;

  

  public double multiplication() {

    return num1 * num2;

  }

  public double division()

    return num1 / num2;

  

  public double calculate() throws Exception {

    double result;

    switch (operator) {

      case '+':

        result = addition();

        break;

      case '-':

        result = subtraction();

        break;

      case '*':

        result = multiplication();

        break;

      case '/':

        result = division();

        break;

      default:

        throw new Exception("非法操作符");

    }

    return result;

  }

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.print("请输入第一个数:");

    double num1 = scanner.nextDouble();

    System.out.print("请输入第二个数:");

    double num2 = scanner.nextDouble();

    System.out.print("请输入操作符(+、-、*、/):");

    char operator = scanner.next().charAt(0);

    Calculator calculator = new Calculator(num1, num2, operator);

    try {

      double result = calculator.calculate();

      System.out.println("计算结果为:" + result);

    } catch (Exception e) {

      System.out.println("计算失败:" + e.getMessage());

    }

  }

}

我们可以通过Scanner来实现用户输入,其中next().charAt(0)用来获取用户输入的第一个字符。

  
  
下一篇: C语言程序

评论区

{{item['qq_nickname']}}
()
回复
回复