public class Char{ public static void main(String[] args) { double hua = 199.9; double sheshi = 5 / 9 *(hua - 100); System.out.println("华氏温度" + hua +" 对应温度= " + sheshi); System.out.println( 59 % 7 ); } }为什么代码中的对应温度会等于0
时间: 2024-03-26 21:34:13 浏览: 6
代码中的对应温度并不会等于0,而是一个近似于-73.9444的小数。
这是因为在Java中,整数除以整数结果也是整数,因此表达式5 / 9的结果是0,再乘以(hua - 100)得到的结果也是0。因此,变量sheshi的值最终也是0。
要解决这个问题,可以将5和9改为5.0和9.0,即使用浮点数来进行计算,如下所示:
```
double sheshi = 5.0 / 9.0 * (hua - 100);
```
这样就能得到正确的结果了。
相关问题
public class Char{ public static void main(String[] args) { double hua = 199.9; double sheshi = 5 / 9 *(hua - 100); System.out.println("华氏温度" + hua +" 对应温度= " + sheshi); System.out.println( 59 % 7 ); } }
这是一个Java程序,输出华氏温度199.9对应的摄氏温度以及59除以7的余数。
具体解释如下:
1. 定义一个名为Char的类。
2. 在类中定义一个名为main的静态方法,该方法是Java程序的入口点。
3. 在main方法中,定义一个名为hua的double类型变量,并赋初值199.9,表示华氏温度。
4. 计算华氏温度对应的摄氏温度,并将结果赋给名为sheshi的double类型变量。
5. 使用System.out.println方法输出华氏温度和对应的摄氏温度。
6. 使用System.out.println方法输出59除以7的余数。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num1 = sc.nextInt(); int num2 = sc.nextInt(); /********* Begin *********/ System.out.println(num1/num2); /********* End *********/ } }
在 Begin - End 区域内进行代码补充,处理整数除法异常:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
try {
/********* Begin *********/
System.out.println(num1 / num2);
/********* End *********/
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
}
}
}
```
在代码中使用 `try...catch` 结构捕获整数除法异常,如果出现异常则输出 "除数不能为0"。