有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何确定为什么每周收入没有在我的程序中显示前三次?

周收入前三次没有显示出来。它宣称大小为4。周薪计算了4次,但没有显示出来。只显示了第四次

    package test;

    import java.util.*;

    public class test {
        public static void main(String[] args) {
            String Name[]= new String[4];
            double hoursWorked[] =new double[4];
            double hourlyPay[] = new double[4];
            double WeeklyEarnings[] =new double[4];


            GetInfo(Name,hoursWorked,hourlyPay);
            WeeklyEarnings[3] = CalculateTotal(hoursWorked,hourlyPay);
            DisplayInfo(Name,hoursWorked,hourlyPay,WeeklyEarnings); 
        }

         public static void GetInfo(String Name[], double hoursWorked[], double hourlyPay[])
         {

             String blank;
             Scanner UserIn = new Scanner(System.in);
             for(int i=0;i< Name.length;i++)
             {


                 System.out.print("Please enter name #"+(i+1) + ":");
                 Name[i]= UserIn.nextLine();


                 do
                 {
                 System.out.print("Please enter the number of hours worked:");
                 hoursWorked[i] = UserIn.nextDouble();
                 if(hoursWorked[i]<0)
                 {
                     System.out.print("Invalid entry !!! Please try again");

                 }
                 }while(hoursWorked[i]<0);

                 System.out.print("Please enter the hourly pay rate: ");
                 hourlyPay[i]= UserIn.nextDouble();

                 blank= UserIn.nextLine();
                 System.out.print("\n");

             } 
         }

         public static double CalculateTotal(double hoursWorked[], double hourlyPay[])
            {
                double[] WeeklyEarnings =new double[4];

                for(int i=0;i<hoursWorked.length;i++)
                {
                WeeklyEarnings[i] = hoursWorked[i] * hourlyPay[i];

                }


                return WeeklyEarnings[3];

            }


     public static void DisplayInfo(String Name[], double hoursWorked[], double hourlyPay[], double weeklyEarnings[])
             {

    System.out.print("\nName\t Hours Worked\t Hourly Pay\t Weekly Earnings");

    for(int i=0;i<weeklyEarnings.length;i++)
    {
        System.out.printf("\n"+ Name[i]+"\t"     +hoursWorked[i] +"\t\t"  +"$"     +hourlyPay[i] +"\t\t" +     "$%.2f",weeklyEarnings[i]);


    }


             }




         } 

共 (2) 个答案

  1. # 1 楼答案

      public static double CalculateTotal(double hoursWorked[], double hourlyPay[])
            {
                double[] WeeklyEarnings =new double[4];
    
                for(int i=0;i<hoursWorked.length;i++)
                {
                WeeklyEarnings[i] = hoursWorked[i] * hourlyPay[i];
    
                }
    
    
                return WeeklyEarnings[3];
    
            }
    

    这里要做的是只返回数组的一个元素(第四个),而应该返回所有数组并对其进行操作

         public static double[] CalculateTotal(double hoursWorked[], double hourlyPay[])
            {
                double[] WeeklyEarnings =new double[4];
    
                for(int i=0;i<hoursWorked.length;i++)
                {
                WeeklyEarnings[i] = hoursWorked[i] * hourlyPay[i];
    
                }
    
    
                return WeeklyEarnings;
    
            }
    
  2. # 2 楼答案

    return WeeklyEarnings[3]更改为return WeeklyEarnings[]

    您要求该方法只返回第四个索引,而不是返回数组的所有索引