1

疑似乱数ジェネレーターが数値を生成し、それをオブジェクトに渡し、他の Java ファイルのさまざまなメソッドを呼び出すプログラムを作成しようとしています。」などのエラーが発生します。

不正な型の開始であり、11 行目で期待されます switch (randNumber) {

12行目の孤立したケース:ケース1。

ケースと 1、ケースと 2、ケースと 3 の間のスペースを削除しようとしましたが、孤立したデフォルト エラーが返されます。

誰が何が間違っている可能性があるかを提案できますか? random.drawHouse() ステートメントと random.drawSquare() ステートメントの両方が、他の 2 つのソース コードを呼び出します。random.drawCircle の SC はまだ書いていないので、その前に他のすべてを修正したいと思っています。

import java.util.Random; 
public class RandomFunTester
{ 

  private RandomFunTester random; 

  RandomFunTester random = new RandomFunTester(); 

  int randNumber = random.nextInt(2) + 1; 

  switch (randNumber) {
    case 1: 
      random.drawHouse(); 
      break; 
    case 2: 
      random.drawSquare(); 
      break; 
    case 3: 
      random.drawCircles(); 
      break; 
    default: 
      System.out.println("The random number generated is not between the values of 1 and 3."); 

  }


}
4

1 に答える 1

3

誰が何が間違っている可能性があるかを提案できますか?

クラス宣言の途中に switch ステートメントを配置しました。このようなステートメントは、メソッドまたはコンストラクターに含める必要があります。ここではあまりコンテキストを提供していませんが、次のようなものが必要になる場合があります。

class ShapeDrawer {
    private RandomFunTester random = new RandomFunTester(); 

    void drawRandomShape() {
        int randNumber = random.nextInt(2) + 1; 

        switch (randNumber) {
          case 1: 
            random.drawHouse(); 
            break; 
          case 2: 
            random.drawSquare(); 
            break; 
          case 3: 
            random.drawCircles(); 
            break; 
          default: 
            System.out.println("The random number generated is not "
                               + "between the values of 1 and 3."); 
        }
    }
}

このコードで円を描くRandomFunTester.nextInt()ことは決してないことに注意してRandom.nextInt()ください. random.nextInt(2)

さらに、RandomFunTesterさまざまな役割があるようです-乱数を考え出し、形を描きます。これが製品コードではないことは承知していますが、各クラスに単一の責任を与えることを考えるのに早すぎることはありません。

于 2013-10-08T05:56:52.033 に答える