带有构造函数的Java类,询问用户输入

时间:2018-03-11 12:11:39

标签: java arrays

为Java课程做作业,问题是我遇到了困难

  

平均值 - 构造函数。它将为阵列分配内存。使用for循环重复显示应指示该用户的用户提示   版权所有©2016 Pearson Education,Inc.,Hoboken NJ   应输入分数1,分数2等。注意:计算机启动   用0计数,但人们用1开始计数,你的提示应该记帐   为了这。例如,当用户输入得分号1时,它将被存储在中   索引变量0.然后构造函数将调用selectionSort和   calculateMean方法。

所以说我所做的是按照指示创建一个AverageDriver类,它创建一个Average类的新实例。当我运行main方法时没有发生错误但是构造函数没有要求任何用户输入,它只是跳过构造函数并显示一个包含5个零的数组。

AverageDriver代码:

public class AverageDriver
{
   public static void main(String[] args)
   {
      Average calcAverage = new Average();

      System.out.print(calcAverage.toString());
   }

}

和平均代码:

import java.util.Scanner;  
import java.util.Arrays; 

public class Average

{

final int GRADES = 5;

private int[] data = new int[GRADES] ; 

private double mean = 0; 
  public void Average()    {
  Scanner keyboard = new Scanner(System.in);       


  for(int i=0; i<5; i++)
  {
     System.out.print("Enter grade number "
                       + (i+1) + ": ");
     data[i] = keyboard.nextInt();
  }

  selectionSort();
  calculateMean();    } 


  public void selectionSort()
  {
     Arrays.sort(data);
  }


  public void calculateMean()
  {
     for(int i=0; i<5; i++)
        mean += data[i];

     mean = mean/5;                                  
  }


  public String toString()
  {
     String stringData = Arrays.toString(data);
     String stringMean = Double.toString(mean);

     return stringData;
  }
   }

0 个答案:

没有答案