创建一个简单的十六进制计算器,可以通过 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();
}
}
代码解析:
- add():接收两个十六进制字符串,先转换为整数,进行加法运算后将结果转回十六进制,并返回。
- subtract():类似于加法,进行十六进制数的减法运算。
- multiply():进行十六进制数的乘法运算。
- divide():进行十六进制数的除法运算。注意,如果除数是零,返回错误信息。
- 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
。
进阶:
- 错误处理:当前代码没有进行过多的输入验证,实际应用中可以增加更多的检查,比如检测输入是否合法(确保输入的是有效的十六进制数)。
- 扩展运算:可以扩展支持更多的数学运算(如模运算、幂运算等)。
通过这段代码,你可以实现一个简单的十六进制计算器,支持加、减、乘、除等基本运算。如果你需要改进或增加功能,随时告诉我!
发表回复