2016-12-04 6 views
0

私はJavaで次のコードを持っています。私はこのためにゲッターとセッターを入力すると、コードは本当に巨大行くのでパラメータの代わりにリストを作成する

private final int level1BallCount = 5; 
private final int level2BallCount = 10; 
private final int level3BallCount = 15; 
private final int level4BallCount = 20; 
private final int level5BallCount = 25; 
private final int level6BallCount = 30; 
private final int level7BallCount = 35; 
private final int level8BallCount = 40; 
private final int level9BallCount = 45; 
private final int level10BallCount = 50; 
private final int level11BallCount = 55; 
private final int level12BallCount = 60; 

今ですべての機能が正しく、しかし私は、このためのリストのようないくつかの簡単な方法があるかどうかを知りたいです。

これを行う方法を知りたがっている人は誰ですか?

+1

その定数は、より良い別のファイルを使用するか、またはちょうど維持しやすいように、列挙型を作成する場合。 – Shriram

+0

5の 'BallCount'倍数または' x'因子は常にですか? – developer

答えて

0

ゲッターとセッターを入力すると、コードが実際に大きくなるので、リストのように簡単な方法がある場合は、

これは実際にはgetterという膨大なリストを必要としません。単一get方法を以下に示すように、以下に示すよう あなたのBallCountsためenumタイプを使用することができます。

public enum BallCounts { 

     LEVEL1(5), LEVEL2(10);//add other levels 

     private int level; 

     private BallCounts(int count) { 
      this.level = level; 
     } 

     //Single getter method 
     public int getBallCountLevel() { 
      return level; 
     } 
    } 
+0

Enumはこれに最適なものでした。私は一連の列挙型を作り、コンストラクタを使ってそれらにアクセスしました:-) – Testko

1

を、私はこの方法で行いたい:

private final int [] levelBallCounts = {5,10,15,20,25,30,35,40,45,50,55,60}; 

public int getLevelBallCountAtPos(int pos){ 
    return levelBallCounts[pos-1]; 
} 

または単に(levelBallCounts配列を使用せず):

public int getLevelBallCountAtPos(int pos){ 
    return pos*5; 
} 

使用法:

System.out.println(getLevelBallCountAtPos(1)); //returns 5 
System.out.println(getLevelBallCountAtPos(4)); //returns 20 
System.out.println(getLevelBallCountAtPos(12)); //returns 60 
+1

OPをしてください、この答えで行ってください。これを入力するつもりでしたが、彼は私にそれを打つ。 – efemoney

0

リストに入れても、好きなものに応じて、好きなものや必要なものによって決まります。

宣言:

private static final List<Integer> levelBallCounts; 
static { 
    levelBallCounts = new ArrayList<>(); 
    levelBallCounts.add(5); 
    levelBallCounts.add(10); 
    [...] 
} 
[...] 

コールと:

levelBallCounts.get(...) 
関連する問題