2012-03-06 75 views
1

這是假設返回19個全座位和68名學生剩餘價值! 請幫助,我的理解是我返回正確的值並將它們分配給正確的變量!方法返回零

public class JetCalculator 
{ 
    public static void main(String[] args) 
    { 
     int totalStudents = 3013; 
     int jetCapacity = 155; 
     int jets; 
     int students; 
     jets = calculateJets(jetCapacity, totalStudents); 
     students = calculateStudents(jetCapacity, totalStudents, jets); 

     System.out.println("A total of "+ totalStudents + " student require "+ jets + " full seated jets."); 
     System.out.println("There will be " + students + " students remaining"); 
     System.out.println("_____________________________________________"); 
     System.out.println(jets); 
     System.out.println(jetCapacity); 
     System.out.println(students); 
    } 

    public static int calculateJets(int totalStudents, int jetCapacity) 
    { 
     int fullJets; 
     fullJets = totalStudents/jetCapacity; 
     return fullJets; 
    } 

    public static int calculateStudents(int jetCapacity, int totalStudents, int jets) 
    { 
     int remainingStudents; 
     remainingStudents = jetCapacity * jets; 
     return remainingStudents; 
    } 
} 
+0

那裏有多個方法 - 哪一個返回零,你期望它返回什麼? – 2012-03-06 00:05:53

+0

如果這是家庭作業,它應該被標記爲這樣。如果您正確說明了問題,這將有所幫助。答案是19個全噴氣式飛機(所有座位都是噴氣式飛機),剩餘68名學生,而不是「19個全座位」。 – 2012-03-06 00:08:10

回答

1

您正在將參數傳回給前端。

您通過傳遞容量然後給學生打電話calculateJetscalculateJets(jetCapacity, totalStudents);但方法要求學生容量:calculateJets(int totalStudents, int jetCapacity)

這是在整個類接口中參數順序一致性的一個好參數。

爲了幫助調試這在未來嘗試的方法開始在println扔,看看發生了什麼:

System.out.println("Called calculateJets with totalStudents of " + totalStudents + " and jetCapacity of " + jetCapacity); 
0

純粹基於方法的名字:你的意思是說remainingStudents = totalStudents - (jetCapacity * jets);

5

你叫calculateJets這樣

jets = calculateJets(jetCapacity, totalStudents); 

但此方法的參數名意味着您切換呼叫

public static int calculateJets(int totalStudents, int jetCapacity) 

這意味着你實際上在做155/3013他們爲了這是0使用整數算術。

+0

非常感謝,從來沒有覺得這麼尷尬,看到我愚蠢的錯誤,但至少我學會了它!謝謝你嗨 – 2012-03-06 09:40:44

+0

@JaunLloyd很高興我能幫上忙。如果答案正確,您可以對答案進行綠色複選標記。 – paislee 2012-03-06 18:39:20