用Java的Switch语句写一个程序,已知一数学函数: x,当×<0时x为0,0≤x<10时,x为x+10,10≤x<30时,x为x+10,30≤x<40,x为-x,×≥40时,x为-x-10,输入一个自变量x(整数),求出函数值并输出打印。
时间: 2023-05-23 13:06:37 浏览: 97
用程序求10+20,并输出结果
A:
```java
import java.util.Scanner;
public class MathFunction {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Input x: ");
int x = sc.nextInt();
int result = 0;
switch (x / 10) { // 根据x的值的不同区间,选择不同的计算方式
case -2147483648:
case Integer.MIN_VALUE: // x < 0
result = 0;
break;
case 0: // 0 <= x < 10
result = x;
break;
case 1:
case 2: // 10 <= x < 30
result = x / 10 * 10;
break;
case 3: // 30 <= x < 40
result = -x;
break;
default: // x >= 40
result = -x - 10;
break;
}
System.out.println("f(x) = " + result);
}
}
```
注意事项:
1. 这里用了 `x / 10` 来判断输入的 x 属于哪个区间(划分的间隔是 10),因为要用到整数除法,所以 x 的类型必须是 `int`;
2. 当 `x < 0` 时,由于该情况等价于 x 最大值为负数,因此用了两个特殊的 case 来处理。
运行结果:
```
Input x: -5
f(x) = 0
Input x: 8
f(x) = 8
Input x: 15
f(x) = 10
Input x: 35
f(x) = -35
Input x: 50
f(x) = -60
```
阅读全文