2014-07-17 73 views
1

我目前剛剛開始一個初學java類,遇到了我的代碼中的問題,我不知道如何解決。該計劃背後的想法是使用主要方法以外的3種方法來獲取員工人數,找出每位員工的錯過日期以及平均缺失日期。實際和正式爭論名單長度不同/發現:沒有參數

import java.util.Scanner; 

public class Average 
{ 
    int daysAbsent = 0; 

    public static void main(String[] args) 
    { 
     int employees, daysAbsent, averageDays; 
     noOfEmp(); 
     daysMissed(); 
     avgDaysAbsent(); 
    } 
    public static int noOfEmp() 
    { 
     int employees; 
     System.out.println("How many employees do you have? "); 
     Scanner keyboard = new Scanner(System.in); 
     employees = keyboard.nextInt(); 

     return employees; 
    } 
    public static int daysMissed(int employees) 
    { 
    int daysAbsent, i; 
    Scanner keyboard = new Scanner(System.in); 

    for(i = 1; i == employees; i++) 
    { 
     System.out.println("How many days was Employee #" + i + " absent?"); 
     daysAbsent = keyboard.nextInt(); 
    } 
    return daysAbsent; 
} 
public static float avgDaysAbsent(int employees, int daysAbsent) 
{ 
    float averageDays; 

    averageDays = (daysAbsent/employees); 
    System.out.println("Your employees averaged " + averageDays + " days absent"); 

    return averageDays; 
} 
} 

當我嘗試編譯代碼時,我收到包含daysMissed()的行的錯誤;和avgDaysAbsent()的行;在方法不能應用於給定類型,沒有找到參數,實際和形式參數列表長度不同的情況下有錯誤。任何幫助,將不勝感激。

+0

您的代碼還有其他一些問題。你所有的方法都會返回值,但是當它們在'main'中被調用時,它會忽略返回值。你的'for'循環被破壞;與'我==僱員'循環將運行,當且僅當有一個員工。如果它有效,你會爲每個員工讀一個int,把他們扔掉,保留最後一個。你還可以通過'System.in'創建多個'Scanner'。我不確定這是一個錯誤還是一個不好的習慣。 –

回答

0

您可以不帶任何參數地調用方法daysMissed(),但它需要一個int參數。

它的簽名是:

public static int daysMissed(int employees)

所以,你應該用一個int參數稱之爲 - daysMissed(someIntVariable)

你用avgDaysAbsent(int employees, int daysAbsent),這需要兩個整數具有相同的錯誤,但你通過它沒有。

我假設你的意思做的是:

public static void main(String[] args) 
    { 
     int employees, daysAbsent, averageDays; 
     employees = noOfEmp(); 
     daysAbsent= daysMissed(employees); 
     averageDays = avgDaysAbsent(employees,daysAbsent); 
    } 
0
int employees, daysAbsent, averageDays; 
    employees = noOfEmp(); 

葉蘭的修正。

你不覺得你必須加入輸入的值,然後再計算平均值嗎?

+0

有沒有辦法在方法中累積所有數字?我嘗試了一個新的變量,但我不太瞭解如何添加它們。只需將其添加到for循環中,以便daysAbsent = daysAbsent + daysAbsent。 – Allen

相關問題