2014-09-23 61 views
-5

* java的幫助,因此,如果任何人能幫助我不知道什麼是錯我想我需要一段時間的狀態意味着 它不斷給我上else語句*轉換溫輻射

import java.util.*; //for class Scanner 
    public class Tempconversion 
    { 
     public static void main(String[] args){ 
     Scanner reader = new Scanner(System.in); 

     double F = 0; 
     double C = 0; 
     int ConvertFer = 0; 
     int ConvertCel = 1; 
     int Done = 3; 
      System.out.println("Welcome to the Temperature Converter!\n" + 
          "Enter 0 to convert F --> C and 1 to convert from C --> F.\n" + 
          "Enter 3 when done"); 

     if (ConvertFer == 0) 
      System.out.println("Welcome to the F --> C Converter\n"+ 
          "Enter Values to convert:"); 
      C = reader.nextDouble(); 
      F = ((F - 32)*5)/9; 
      System.out.println(F + "F = " + C + "C."); 


     else 
      System.out.println("Welcome to the C --> Fconverter\n"+ 
          "Enter Values to convert:"); 

      F = reader.nextdouble(); 
      C = ((C * 90)/5))+32; 
      System.out.println(C + "C =" + F +"F."); 

     } 
     } 
+1

有什麼錯誤?另外,你可能需要在你想爲'if'分支和'else'分支執行的多個語句中使用大括號。 – 2014-09-23 03:21:34

+0

它會給你什麼樣的錯誤 – 2014-09-23 03:21:37

回答

0
public static void main(String[] args) { 
    Scanner reader = new Scanner(System.in); 

    double tF = 0.0001; 
    double tC = 0.0001;   
    int convertFer = 0; 
    int convertCel = 1; 

    System.out.println("Welcome to the Temperature Converter!\n" 
      + "Enter 0 to convert F --> C and 1 to convert from C --> F.\n" 
      + "Enter Control-Z when done!"); 

    convertFer = reader.nextInt(); 

    if (convertFer == 0) { 
     System.out.println("Welcome to the F --> C Converter!\n" + "Enter Values to convert:"); 
     while (reader.hasNext()){ 

     tC = reader.nextDouble(); 

     tF = ((tC - 32) * 5)/9; 
      System.out.println(tC +" F = " + tF + " C");} 

    } else { 
     System.out.println("Welcome to the C --> F Converter!\n" + "Enter Values to convert:"); 
     while (reader.hasNext()){ 

     tF = reader.nextDouble(); 

     tC = ((tF * 9)/5) + 32; 
      System.out.println(tF + "C = " + tC + " F");} 

     System.out.println("Goodbye!"); 
     System.exit(0);  
    }  
} 
+0

多數民衆贊成我使用的代碼,到目前爲止它正在工作o反思兩個答案都不錯只是不得不修改,使其工作,因爲我想它 – 2014-09-25 00:35:54

1

我認爲錯誤你缺少大括號在你的if/else聲明

if (ConvertFer == 0) { 
     // convert to F 

    } 
    else { 
    // convert to C 
    } 

而且,你if/else語句之前應閱讀的用戶選擇。您可能還需要循環代碼,以便您可以多次

public static void main(String[] args) { 
    Scanner reader = new Scanner(System.in); 

    double F = 0; 
    double C = 0; 
    int ConvertFer = 0; 
    int ConvertCel = 1; 
    int Done = 3; 
    System.out.println("Welcome to the Temperature Converter!\n" + 
         "Enter 0 to convert F --> C and 1 to convert from C --> F.\n" + 
         "Enter 3 when done"); 

    int userChoice = -1; 
    while(true) { 
     userChoice = reader.nextInt(); // read user choice 
     if(userChoice == ConvertFer) { 
      // convert to F 
     } else if(userChoice == ConvertCel) { 
      // convert to C 
     } else if (userChoice == Done) { 
      break; // finish the loop 
     } else { 
      System.out.println("Please enter a valid choice"); 
     } 
    } 
} 

注意做這種轉換也使他們能夠從類中容易區分不應按照慣例利用你的變量。您應該將變量重命名爲convertFerconvertCeldone

+0

Tempconversion.java:27:error:'else'without'if' 我一直在使用代理來獲取 – 2014-09-23 03:29:49

+0

@LuisOrt你得到那個錯誤是因爲''''之間有一些代碼, 'if'語句和'else'語句。你不能有任何代碼。看看我的編輯,你應該如何解決這個 – nem035 2014-09-23 03:31:33

+0

老兄老實說,我只是盯着學習,我不知道你不能在那裏有代碼。 – 2014-09-23 03:37:23