1.Write a Java program called ArithmeticT1 that takes three command-line arguments: two integers and in between an arithmetic operator (+, ‐, *, /). The program shall perform the corresponding operation on the two integers and display the result. Note that you need to deal with the nonnumeric input as operands (one of the two integers) using exception handler (try-catch statements) - the program terminates if any operand is nonnumeric, and it should display a message with the wrong operand input before exiting. Besides, the program should also handle the wrong input for operator.
时间: 2024-03-10 20:48:45 浏览: 91
下面是一个Java程序,名为ArithmeticT1,可以接受三个命令行参数:两个整数和一个算术运算符(+,-,*,/)。程序将对这两个整数执行相应的操作,并显示结果。请注意,您需要使用异常处理程序(try-catch语句)来处理非数字输入作为操作数(两个整数中的一个) - 如果任何操作数是非数字,则程序将终止,并在退出前显示带有错误操作数输入的消息。此外,程序还应处理运算符的错误输入。
```
public class ArithmeticT1 {
public static void main(String[] args) {
if(args.length != 3) {
System.out.println("Usage: java ArithmeticT1 operand1 operator operand2");
System.exit(1);
}
int operand1 = 0;
int operand2 = 0;
int result = 0;
try {
operand1 = Integer.parseInt(args[0]);
operand2 = Integer.parseInt(args[2]);
} catch (NumberFormatException ex) {
System.out.println("Wrong operand input");
System.exit(1);
}
switch (args[1]) {
case "+":
result = operand1 + operand2;
break;
case "-":
result = operand1 - operand2;
break;
case "*":
result = operand1 * operand2;
break;
case "/":
if (operand2 == 0) {
System.out.println("Cannot divide by zero");
System.exit(1);
}
result = operand1 / operand2;
break;
default:
System.out.println("Wrong operator input");
System.exit(1);
}
System.out.println(operand1 + " " + args[1] + " " + operand2 + " = " + result);
}
}
```
这个程序首先检查是否有三个命令行参数。如果不是,则显示用法消息并退出程序。程序然后尝试将第一个和第三个参数解析为整数。如果任何一个参数不是整数,则显示错误消息并退出程序。如果两个参数都是整数,则根据第二个参数执行相应的算术运算。如果第二个参数是除法运算符,程序还会检查第二个操作数是否为零。如果是,则显示错误消息并退出程序。最后,程序将显示算术表达式和结果。
阅读全文