一、题目链接
http://noi.openjudge.cn/ch0104/19/
二、解题思路
2.1 给定操作数x
、y
和操作符c
,运算时存在六种互斥的可能性如下:
▲ 如果c
为+
号,x
、y
做加法;
▲ 否则如果c
为-
号,x
、y
做减法;
▲ 否则如果c
为*
号,x
、y
做乘法;
▲ 否则如果c
为/
号且y
不为0
,x
、y
做除法;
▲ 否则如果c
为/
号且y
为0
,x
、y
做除0操作;
▲ 否则,c
是无效的操作符;
根据上述六种互斥的可能性,进行不同的运算并输出不同的结果。
三、实施步骤
3.1 定义两个int
类型的变量x
、y
,分别代表第一操作数、第二操作数,输入它们的数据;
3.2 定义char
类型的变量c
,代表操作符,输入它的数据;
3.3 if c=='+'
:输出x+y
;
else if c=='-'
:输出x-y
;
else if c=='*'
:输出x*y
;
else if c=='/'&&y!=0
:输出x/y
;
else if c=='/'
:输出Divided by zero!
;
else
:输出Invalid operator!
。
四、Java程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = input.nextInt(); // 第一操作数
int y = input.nextInt(); // 第二操作数
char c = input.next().charAt(0); // 操作符
if (c == '+') { // 如果操作符是加法
System.out.print(x + y); // 输出x、y的加法结果
}
else if (c == '-') { // 否则如果操作符是减法
System.out.print(x - y); // 输出x、y的减法结果
}
else if (c == '*') { // 否则如果操作符是乘法
System.out.print(x * y); // 输出x、y的乘法结果
}
else if (c == '/' && y != 0) { // 否则如果操作符是除法且除数不为0
System.out.print(x / y); // 输出x、y的除法结果
}
else if (c == '/') { // 否则如果操作符是除法且除数为0
System.out.print("Divided by zero!"); // 输出除0提示
}
else { // 否则,操作符是无效的操作符
System.out.print("Invalid operator!"); // 输出无效操作符提示
}
}
}