2016-06-28 75 views
-1

我不知道要添加到//Sample 3什麼,任何人都可以幫助我,並告訴我我做錯了什麼?我正在寫來寫,如果假分數轉換成一個完整整數別的地方的最後一部分,但我不知道該怎麼寫我不確定如何處理我的代碼。分數轉換

package ch2_project; 

import java.util.Scanner; 

public class Ch2_project { 

    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     System.out.print("Enter a numerator: "); 
     int numerator = input.nextInt(); 
     System.out.print("Enter a denominator: "); 
     int denominator = input.nextInt(); 

     if (numerator < denominator) 
     { 
      System.out.println(numerator + "/" + denominator + " is a proper  fraction"); // Sample 2 
     } 
     else 
     { 
      int mix = numerator/denominator; 
      int remainder = numerator % denominator;  
      System.out.println(numerator + "/" + denominator + " is a improper fraction and it's mixed fraction is " + mix + " and " remainder + "/" + denominator);// Sample 1 
     } 
     else if() 
     { 
      int whole = numerator/denominator 
      System.out.println(numerator + "/" + denominator + " is an improper fraction and it can be reduced to " + whole);//Sample 3  
     } 
    } 

} 
+1

你做錯了什麼?是什麼讓你這麼想的。請解釋。意思是,告訴我們你的問題是什麼。 – Andreas

+0

@imustbejulia:除了你要解決的問題之外,你的else和else子句的順序是倒退的,需要交換。 –

回答

1

你錯過了加法運算符剩餘部分之前從而使編譯器拋出關於意外符號的錯誤。您串聯不工作,由於錯誤的位置:

System.out.println(numerator + "/" + denominator + " is a improper fraction and it's mixed fraction is " + mix + " and " remainder + "/" + denominator);// Sample 1 
                                 ^

應改爲:

System.out.println(numerator + "/" + denominator + " is a improper fraction and it's mixed fraction is " + mix + " and " + remainder + "/" + denominator);// Sample 1 

注意添加+來解決這個問題,這是一個缺失的符號拼接導致失敗。

工作例如:Here

編輯

眼看你編輯的代碼中,elseelse if語句是倒退。另外,else if沒有條件。要檢測的部分可以簡化爲一個整數,這樣做:

else if(numerator%denominator == 0) 

這將評估是否numerator是整除denominator,產生一個整數。

+0

如果他想顯示小數,他不需要使用double嗎? –

+2

@FarazDurrani但他不想顯示小數。他想說'7/3 = 2和1/3' – Andreas

+0

不是。這是一個分數轉換器。它所做的是它使用整數類型的trunctation對其有利 – Li357

相關問題