Can';t让温度表在java中工作

Can';t让温度表在java中工作,java,Java,我已经试着让这个程序运行好几个小时了。我成功地将华氏温度转换成摄氏温度,但就我的一生而言,我不能将摄氏温度转换成华氏温度。我打算在学校重新开学的时候问我的老师,但现在我希望能得到一些帮助。这是我的密码 import java.util.Scanner; public class TempConvert { public static void main(String[] args) { //variables double number;

我已经试着让这个程序运行好几个小时了。我成功地将华氏温度转换成摄氏温度,但就我的一生而言,我不能将摄氏温度转换成华氏温度。我打算在学校重新开学的时候问我的老师,但现在我希望能得到一些帮助。这是我的密码

import java.util.Scanner;

public class TempConvert {
    public static void main(String[] args) {
            //variables
            double number;
            int maxFahrenheit = 52;
            int maxCelsius = 20;

            Scanner keyboard = new Scanner(System.in);

            //user input
            System.out.println("Please enter 1 to convert from Fahrenheit to" +
                " Celsius");
            System.out.println("Please enter 2 to convert from Celsius to" +
                " Fahrenheit");
            number = keyboard.nextDouble();

            //if else 
            if (number == 1) {
                System.out.println("Celsius\t\tFahrenheit");
                System.out.println("---------------------------");

                int i;
                double c;

                for (i = 0, c = 0; i <= maxCelsius; i++, c++) {
                    System.out.println(i + "\t\t" + 9 * (i + 32) / 5);
                } //end for
            } //end if
            else if (number == 2) {
                System.out.println("Fahrenheit\t\tCelsius");
                System.out.println("-----------------------------------");

                int i;
                double f;

                for (i = 32, f = 32; i <= maxFahrenheit; i++, f++) {
                    System.out.println(i + "\t\t" + 5 * (f - 32) / 9);
                } //end for
            } //end else if
            else {
                System.out.println("Entry is invalid");
            } //end else

        } //end main
} //end TempConvert
import java.util.Scanner;
公共类临时转换{
公共静态void main(字符串[]args){
//变数
双数;
int最大华氏温度=52;
int最大摄氏度=20;
扫描仪键盘=新扫描仪(System.in);
//用户输入
System.out.println(“请输入1以将华氏温度转换为”+
“摄氏度”);
System.out.println(“请输入2以将摄氏度转换为”+
“华氏度”);
数字=键盘.nextDouble();
//否则
如果(数字==1){
System.out.println(“摄氏\t\tFahrenheit”);
System.out.println(“-------------------------------”;
int i;
双c;

对于(i=0,c=0;i您需要使用DecimalFormat df=new DecimalFormat(“#.####”)

看,我改变了你的代码如下:

public static void main(String[] args) {
    //variables
    double number;
    int maxFahrenheit = 52;
    int maxCelsius = 20;

    Scanner keyboard = new Scanner(System.in);

    //user input
    System.out.println("Please enter 1 to convert from Fahrenheit to" +
    " Celsius");
    System.out.println("Please enter 2 to convert from Celsius to" +
    " Fahrenheit");
    number = keyboard.nextDouble();

    //if else 
    if(number == 1) {
    System.out.println("Celsius\t\tFahrenheit");
    System.out.println("---------------------------");

    int i;
    double c;

    for(i = 0, c = 0; i <= maxCelsius; i++, c++) {
    System.out.println(i + "\t\t" +  9 * (i + 32) / 5);
    }//end for
    }//end if

    else if(number ==2) {
    System.out.println("Fahrenheit\t\tCelsius");
    System.out.println("-----------------------------------");

    int i;
    double f;
    DecimalFormat df = new DecimalFormat("#.####");
    for(i = 32, f = 32; i <= maxFahrenheit; i++, f++) {

    System.out.println(i + "\t\t" + df.format(5 * (f - 32) / 9));
    }//end for
    }//end else if

    else {
    System.out.println("Entry is invalid");
    }//end else

    }//end main
    }//end TempConvert
publicstaticvoidmain(字符串[]args){
//变数
双数;
int最大华氏温度=52;
int最大摄氏度=20;
扫描仪键盘=新扫描仪(System.in);
//用户输入
System.out.println(“请输入1以将华氏温度转换为”+
“摄氏度”);
System.out.println(“请输入2以将摄氏度转换为”+
“华氏度”);
数字=键盘.nextDouble();
//否则
如果(数字==1){
System.out.println(“摄氏\t\tFahrenheit”);
System.out.println(“-------------------------------”;
int i;
双c;

对于(i=0,c=0;i您应该检查编译器警告。未使用局部变量c的值。将摄氏度转换为法伦海特的公式是
1.8*t_c+32
9/5=1.8
9*32/5=57,6
。因此您使用的
1.8*t_c+57.6
,这是不正确的。要快速回答,请使用Thx。唯一的是,我们还没有在课堂上学到这些东西。我想我可能只是做了一些愚蠢的错误,这很容易指出。我现在真正知道的是循环和if语句。没关系,朋友=)你在学习,所以你不应该知道这一点,是的,我们可以对这个程序进行很多更改,使其更好,但要继续下去=)世界是你的,继续阅读下去=)如果这个问题解决了你的答案,你能给我一些分数吗?请尽管如此,我仍在寻找答案。我尝试了你所说的,反对语法。对于这个问题,一定有一个不同的解决方案,更符合我们在课堂上所学的:/我明白了,是的,我想和你分享这个:There是编程中的manny解决方案,重点是什么更好,为什么=D,是的,出于某种原因,我的代码现在只是将0.032而不是32添加到循环中的每个值。这让我有点疯狂。有什么原因吗???