0

/* これらは私のクラスに送信されます。私のクラスのコンパイルに問題がありますか? 何が悪いのかわからない*/

これは、私のケースステートメントで使用する列挙型クラスになります

 public enum Quarter
{
   First,
   Second,
   Third,
   Forth
 }

これらは私のクラスフィールドです。これをオンラインで見たスキャナーフィールドについてはよくわかりませんが、正しくコンパイルされません。これはスキャナーの種類をフィールドとして宣言する正しい方法ですか?

  public class Quarterly
  {
    private final const ROW = 6;
    private final const COL = 4;
    private Scanner _scanner;


  public Quarterly(Scanner scanner) // This Constructor does not compile either? What am I doing Wrong???
  {
      this._scanner = scanner;
  }

これは、ユーザー入力を受け取るだけのメソッドになります。ただし、このケースステートメントには問題があります

  private string GetMessage(Quarter quarter, int departmentNumber)
  {
     switch(quarter)
     {
      case Quarter.first:
      return "Enter The First Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
      case Quarter.second:
      return "Enter a The Second Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
      case Quarter.third:
      return "Enter a The Third Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
      case Quarter.forth:
      return "Enter a The Forth Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";

     }

 }

これは、私の部門の合計を取得して合計するための配列になります

 public double GetTotalForDepartments(Quarter quarter)
 {
         double [][] sales = new double [ROW][COL];
         int num = 1;
         double total = 0;
        for (int row = 0; row < ROW ; row++)
        {
        // This for statement is taking one column from the array in order to fill with input
             for (int col = 0; col < COL; col++)
             {
                // This will receive sale numbers from the six departments
                System.out.print(message + "[" + num + " ]. . . . . $ ");
                sales[row][col] = _scanner.nextDouble();
                num++;
                // This for statement will sum each department's input
                for (int i = 0; i < sales.length; i++);
                {
                total += sales[row][col];
                }  
             }
        }

return total;
}





/ This will be my main program.

 {
 double test1;
 double test2;
 double test3;
 double test4;

 Scanner  keyboard = new Scanner(System.in);
 Quarterly helper = new Quarterly(keyboard);

 test1 = helper.GetTotalForDepartments(Quarter.First);
 System.out.println(" Test 1 = " + test1);

 test2 = helper.GetTotalForDepartments(Quarter.Second);
 System.out.println(" Test 2 = " + test2);

 test3 = helper.GetTotalForDepartments(Quarter.Third);
 System.out.println(" Test 3 = " + test3);

 test4 = helper.GetTotalForDepartments(Quarter.Fourth);
 System.out.println(" Test 4 = " + test4 " /n ");
 }
4

3 に答える 3

1

Javaにはconstというものはありません。あなたの変数のタイプは何ですか

private final const ROW = 6;
private final const COL = 4;
于 2013-11-09T05:43:05.070 に答える
0

問題に関する多くの欠落した詳細。

しかし、ここで私が気づいたことがあります。

  1. const - Java では const なし
  2. そのはず

    switch(quarter){
        case First:
    
  3. 2 番目のコード スニペットに「}」がありません

  4. 不足しているインポート
于 2013-11-09T17:05:17.077 に答える
0

いくつかのことがわかります。

まず、正しく大文字にします。(参考までに、スタイルのヒントとして: 列挙値などの定数は通常、すべて大文字です。たとえば、FIRST.)

 switch(quarter)
 {
  case Quarter.First:
  return "Enter The First Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
  case Quarter.Second:
  return "Enter a The Second Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
  case Quarter.Third:
  return "Enter a The Third Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";
  case Quarter.Forth:
  return "Enter a The Forth Quarterly Sales For Department [ " + departmentNumber+" ]. . . . . $ ";

 }

次に、 を使用する場所Scannerで、次のいずれかを実行します。

  1. import java.util.Scanner;ファイルの先頭に追加します。

  2. java.util.Scannerではなくフルネームで参照してくださいScanner

于 2013-11-09T05:24:55.373 に答える