1. ホーム
  2. java

[解決済み] Javaで配列を返す【終了しました

2022-03-08 15:57:06

質問

なぜこのコードが配列を返さないのか、まったくわかりません......。私のコンパイラーに問題があるような気がします。

public class trial1{

    public static void main(String[] args){
        numbers();
    }

    public static int[] numbers(){
        int[] A = {1,2,3};
        return A;
    }
}

このコードは全く何も返しません。気が狂いそうです。

どうすればいいですか?

配列を返していますが、(配列を含む)何かを返すということは、その名の通り、値を返すということです。あなたの場合、あなたが取得しているのは numbers() で、それがたまたま配列であっただけで、そのまま放置されている。

関数が何かを返すとき、それは本質的にそれが呼び出された行を置き換えることです(あなたの場合。 numbers(); ) を返り値とします。つまり、あなたの main メソッドが実際に実行していることは、本質的に次のようなことです。

public static void main(String[] args) {
    {1,2,3};
}

もちろん、これは何もしていないように見えるでしょう。もし、戻り値で何かをしたいのであれば、次のようなことができる。

public static void main(String[] args){
    int[] result = numbers();
    for (int i=0; i<result.length; i++) {
        System.out.print(result[i]+" ");
    }
}