我已经完成了这个程序,但无法弄清楚出了什么问题,基本上它是C-> F,F-> C,C-> K,K-> C的转换器, F-> K,K-> F.顺便说一句,这是我在这个网站上的第一个问题,我使用的是Bluej。当我尝试转换它时,我得到一个错误的答案,但我的公式都是正确的(在谷歌检查)...
/**
* Program to
*
* Anirudh Gupta
* th August 2014
*/
import java.io.*;
public class Temperature
{
public static void main () throws IOException
{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("Enter choice of scale in which current temperature in:");
System.out.println(" 1)Celsius");
System.out.println(" 2)Fahrenheit");
System.out.println(" 3)Kelvin");
int no=Integer.parseInt(br.readLine());
double ans;
switch(no)
{
case 1:
System.out.println("Enter temperature to convert(in °C)");
double C=Double.parseDouble(br.readLine());
System.out.println("Enter choice of scale to which current temperature should be converted");
System.out.println("1)Fahrenheit");
System.out.println("2)Kelvin");
int no1=Integer.parseInt(br.readLine());
switch(no1)
{
case 1:
ans=((9*C)/5)+32;
System.out.println(ans+"°F");
break;
case 2:
ans=C+273;
System.out.println(ans+"K");
break;
}
break;
case 2:
System.out.println("Enter temperature to convert(in °F)");
double F=Double.parseDouble(br.readLine());
System.out.println("Enter choice of scale to which current temperature should be converted");
System.out.println("1)Celsius");
System.out.println("2)Kelvin");
int no2=Integer.parseInt(br.readLine());
switch(no2)
{
case 1:
ans=((5*(F-32))/9);
System.out.println(ans+"°C");
break;
case 2:
ans=((5/9)*(F-32))+273;
System.out.println(ans+"K");
break;
}
break;
case 3:
System.out.println("Enter temperature to convert(in K)");
double K=Double.parseDouble(br.readLine());
System.out.println("Enter choice of scale to which current temperature should be converted");
System.out.println("1)Celsius");
System.out.println("2)Fahrenheit");
int no3=Integer.parseInt(br.readLine());
switch(no3)
{
case 1:
ans=K-273;
System.out.println(ans+"°C");
break;
case 2:
ans=((9/5)*(K-273))+32;
System.out.println(ans+"°F");
break;
}
break;
}
}
}

答案 0 :(得分:5)
(5/9)
将评估为零。
同样,(9/5)
将评估为1。
重写为5.0 / 9
等,因此计算以浮点形式进行。