私はjavaの配列について読んでいて、配列のすべての数字の出現数を計算するためのコードを作った。Javaのmainメソッドで静的配列を作成するには?
public class Example {
static int b[] = new int[13]; // I can not do static int b[] = new int[a.length] because a[] in not static array
static int count = 0;
public static void main(String[] args) {
int[] a = { 2, 3, 4, 3, 3, 5, 4, 10, 9, 1, 9, 11, 15 };
counting(a);
printCount();
}
private static void printCount() {
int k = 0;
for (int i = 0; i < b.length; i++) {
System.out.print("number" + " " + a[k] + " " + "is found" + " "); // here I get error in a[k] because it is not static , eclipse says : a cannot be resolved to a variable
System.out.println(b[i] + " " + "times");
k++;
}
System.out.println();
}
private static void counting(int[] a) {
for (int i = 0; i < a.length; i++) {
for (int k = 0; k < a.length; k++) {
if (a[i] == a[k]) {
b[i] = ++count;
}
}
count = 0;
}
}
}
I []は、mainメソッドでは静的ではありませんので、そこに私はこの方法で私のA []配列を呼び出すことはできません、私のprintCount()メソッドに捕まってしまいました。 私のメインの方法でstatic int[] a = { 2, 3, 4, 3, 3, 5, 4, 10, 9, 1, 9, 11, 15 };
を書こうとしましたが、eclipseはそれを受け入れません。 上記の例のクラスのすべてのメソッドに到達できるように[]静的配列を作成するにはどうすればよいですか?
はprintCount()メソッドで配列を渡し
移動これは...これは、Bは[]宣言されている領域内で宣言されなければなりません。 – CConard96
'b'と' count'のようにグローバル変数にすることができます。あるいは、配列を 'printCount(a);'メソッドのパラメータとして送信し、メソッドのシグネチャを 'private static void printCount(int [] a)'に変更することもできます。 – Gendarme
ありがとう、私はメインの方法でそれを残すことはできませんか?配列の隣に移動せずにそれを処理する方法はありますか? – Joe