java程序不希望的结果

时间:2018-01-26 05:30:09

标签: java

import java.util.Scanner;
public class FtoC 
{
    public static void main(String[] args) 
    {
        double DegreesF, DegreesC;
        System.out.print("Enter temperature in Fahrenheit:");
       ` Scanner sc = new Scanner(System.in);
        DegreesF = sc.nextInt();
        DegreesC = 5*(DegreesF-32)/9;
        System.out.print(DegreesF + " degrees Fahrenheit" + " is " + DegreesC + " degrees Celsius.");        
    }
}

我得到输出:输入华氏温度:72 72.0华氏度是22.22222222222222摄氏度。 我需要72华氏度是一个整数,没有小数部分。请帮忙。

2 个答案:

答案 0 :(得分:0)

由于您只扫描MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713"); adView = new AdView(this); adView.setAdListener(new AdListener() { ... 值,只需int定义为DegreesF

int

而不是

int DegreesF;

由于double DegreesF; 没有小数点,您不会再遇到问题了

获得正确的Celcius值:

Integers

答案 1 :(得分:0)

  

我需要72华氏度的整数,没有   小数部分

您最初可以将其存储为int,而不是double

int DegreesF;
double DegreesC;

将打印:

  

72华氏度是22.0摄氏度。

或者将其作为int投放到您的打印声明中:

System.out.print((int)DegreesF + " degrees...

虽然第一种方式更好。

此外,您应该指定摄氏度值(可能为两个小数点):

一种方法是使用DecimalFormat

DecimalFormat df = new DecimalFormat(".##");

并打印出来:

df.format(DegreesC)