创建一个简单的十六进制计算器,可以通过 Java 实现。这个计算器可以执行四则运算,并且支持十六进制的输入和输出。我们将使用 Integer.parseInt() 和 Integer.toHexString() 来处理十六进制数。

Java 十六进制计算器源代码

import java.util.Scanner;

public class HexCalculator {

    // 方法:加法
    public static String add(String hex1, String hex2) {
        // 将十六进制字符串转为整数
        int num1 = Integer.parseInt(hex1, 16);
        int num2 = Integer.parseInt(hex2, 16);
        
        // 执行加法
        int sum = num1 + num2;
        
        // 返回十六进制结果
        return Integer.toHexString(sum).toUpperCase();
    }

    // 方法:减法
    public static String subtract(String hex1, String hex2) {
        int num1 = Integer.parseInt(hex1, 16);
        int num2 = Integer.parseInt(hex2, 16);
        
        int difference = num1 - num2;
        
        return Integer.toHexString(difference).toUpperCase();
    }

    // 方法:乘法
    public static String multiply(String hex1, String hex2) {
        int num1 = Integer.parseInt(hex1, 16);
        int num2 = Integer.parseInt(hex2, 16);
        
        int product = num1 * num2;
        
        return Integer.toHexString(product).toUpperCase();
    }

    // 方法:除法
    public static String divide(String hex1, String hex2) {
        int num1 = Integer.parseInt(hex1, 16);
        int num2 = Integer.parseInt(hex2, 16);
        
        // 避免除数为零
        if (num2 == 0) {
            return "Error: Division by Zero!";
        }
        
        int quotient = num1 / num2;
        
        return Integer.toHexString(quotient).toUpperCase();
    }

    // 主函数
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("Hexadecimal Calculator");
        System.out.println("Supported operations: +, -, *, /");
        
        // 输入两个十六进制数
        System.out.print("Enter first hexadecimal number: ");
        String hex1 = scanner.nextLine().toUpperCase();
        
        System.out.print("Enter second hexadecimal number: ");
        String hex2 = scanner.nextLine().toUpperCase();
        
        // 输入操作符
        System.out.print("Enter operation (+, -, *, /): ");
        char operation = scanner.nextLine().charAt(0);
        
        String result = "";
        switch (operation) {
            case '+':
                result = add(hex1, hex2);
                break;
            case '-':
                result = subtract(hex1, hex2);
                break;
            case '*':
                result = multiply(hex1, hex2);
                break;
            case '/':
                result = divide(hex1, hex2);
                break;
            default:
                result = "Error: Invalid operation!";
        }
        
        // 输出结果
        System.out.println("Result: " + result);
        
        scanner.close();
    }
}

代码解析:

  1. add():接收两个十六进制字符串,先转换为整数,进行加法运算后将结果转回十六进制,并返回。
  2. subtract():类似于加法,进行十六进制数的减法运算。
  3. multiply():进行十六进制数的乘法运算。
  4. divide():进行十六进制数的除法运算。注意,如果除数是零,返回错误信息。
  5. main():接受用户输入的两个十六进制数、运算符,并根据运算符调用相应的方法,最后输出结果。

运行示例:

Hexadecimal Calculator
Supported operations: +, -, *, /
Enter first hexadecimal number: A
Enter second hexadecimal number: 5
Enter operation (+, -, *, /): +
Result: F

说明:

  • 输入:A 和 5,加法操作(+)。
  • A 对应十进制的 10,5 对应十进制的 5。
  • 10 + 5 = 15,15 对应十六进制为 F,因此输出结果为 F

进阶:

  1. 错误处理:当前代码没有进行过多的输入验证,实际应用中可以增加更多的检查,比如检测输入是否合法(确保输入的是有效的十六进制数)。
  2. 扩展运算:可以扩展支持更多的数学运算(如模运算、幂运算等)。

通过这段代码,你可以实现一个简单的十六进制计算器,支持加、减、乘、除等基本运算。如果你需要改进或增加功能,随时告诉我!