2015-09-27 38 views
-4

這是我正在處理的基礎類的代碼。我不斷收到錯誤信息,但我不確定自己做錯了什麼。任何幫助將不勝感激。謝謝!我一直在我的驅動程序類中發生錯誤,但我不確定我做了什麼錯誤

package miles; 

public class Miles { 

    private int miles; 
    private int gas; 
    public static int mpg; 

    public void setMiles(int miles) { 

     this.miles = miles; 

    } 

    public void setGas(int gas){ 

     this.gas = gas; 

    } 


    public int getMpg(){ 
     mpg = miles/gas; 
     return mpg; 
    } 


} 
package miles; 
import java.util.Scanner; 

public class MilesDriver { 


    public static void main(String [] args) { 


     Miles gas = new Miles(); 

     Scanner input = new Scanner(System.in); 

     System.out.println("Enter Miles: "); 
     int setGas = input.nextInt(); 

     System.out.println("Enter Gas: "); 
     int setMiles = input.nextInt(); 

     System.out.printf("MPG: %n%s%n", gas.getMpg()); 


    } 
} 
+2

您需要編輯您的文章並添加錯誤消息,以便其他具有相同錯誤的人員能夠找到您的問題和潛在答案。 – Pshemo

+0

提示:你在哪裏設置/傳遞Miles對象的瓦斯和英里數值?還要看看您從用戶那裏詢問什麼值以及如何命名變量。 – Pshemo

+1

'Miles gas = new Miles();'這是非常糟糕的命名決定好友...更進一步,你正在讀「英里」進入「setGas」並且進入「setMiles」氣體...... – alfasin

回答

0

你居然忘了把對象的值:

System.out.println("Enter Miles: "); 
    int setMiles = input.nextInt(); 
    gas.setMiles(setMiles); 

    System.out.println("Enter Gas: "); 
    int setGas = input.nextInt(); 
    gas.setGas(setGas); 

儘量不給一個變量命名相同的名稱對象的方法。你會結束自己而陷入困境。

相關問題