我的程序没有语法错误,但我无法获得最终的平均#right

时间:2015-07-15 04:11:56

标签: java

我的程序没有语法错误,我可以输入所有值,但我无法得到正确的最终平均数。任何人都可以帮我找出问题吗? 以下是我输入的内容:

  1. 你有多少名员工? 4
  2. 员工#1缺席多少天? 4
  3. 缺少员工#2多少天? 2
  4. 缺少员工#3多少天? 1
  5. 缺少员工#4多少天? 3
  6. 最终答案应为: 2.5

    这是我使用的代码:

    import java.util.Scanner;
    
    class Number {
        public static void main(String[] args) {
            int numEmployee = Number.workers();
            int absentSum = Number.totaldays(numEmployee);
            double averageAbsent = Number.average(numEmployee, absentSum);
        }
    
        public static int workers() {
            int number = 0;
            Scanner input = new Scanner(System.in);
    
            while (number > 0 || number < 0 || number == 0) {
                System.out.println("How many employees do you have?");
                number = input.nextInt();
                if (number >= 0) {
                    return number;
                } else {
                    System.out
                            .println("You can not enter a negative               number."
                                    + " Please enter another number.");
                }
            }
            return number;
        }
    
        public static int totaldays(int numEmployee) {
            int absentDays = 0;
            int absentSum = 0;
    
            for (int employName = 1; employName <= numEmployee; employName++) {
                System.out.println("How many days was Employee #" + employName
                        + " absent?");
                Scanner input = new Scanner(System.in);
                absentDays = input.nextInt();
                while (absentDays < 0) {
                    System.out.println("You can not enter a negative number."
                            + " Please enter another number.");
                    System.out.println("How many days was Employee #" + employName
                            + " absent?");
                    absentDays = input.nextInt();
                }
                absentSum += absentDays;
            }
    
            return absentSum;
        }
    
        public static double average(int numEmployee, int absentSum) {
            double averageAbsent = (double) absentSum / (double) numEmployee;
            System.out.println("Your employees averaged " + averageAbsent
                    + " days absent.");
            return averageAbsent;
        }
    }
    

0 个答案:

没有答案
相关问题