前提・実現したいこと
・Java学習で取り組んでいる課題でずっとわからない事があるのでお力を貸してください。
課題内容は下記です。
1、クラスを2つ作成する。
2、1つ目のクラスで1~10の数字を作る(この時必ずfor分を使うこと)
3、1つ目のクラスで作った数字を2つ目のクラスで配列に格納する。
4、配列に格納された数字を1つ目のクラスで配列の状態で出力する。
発生している問題・エラーメッセージ
・現在4番の出力する所で課題通りにできず、悩んでいます。
下記のようにソースコードを作り、eqlipceを使い出力したところ
実行結果が[10]と表示されるのみで1~9の数字が出てきません。
該当のソースコード
言語はJavaです。
1つ目の数字の作成、出力を行うクラスのクラス名は「Test_1」
2つ目の数字を配列に格納するクラスのクラス名は「Test_2」としています。
ソースコード「Test_1」
public class Test_1 {
public static int num;
public static void main(String[] args) { for (int i = 1; i < 11; i++) { num = i; } Test_2.suji_hairetu(); }
}
ソースコード「Test_2」
import java.util.ArrayList;
public class Test_2 {
public static ArrayList<Integer>suji=new ArrayList<Integer>();
public static void suji_hairetu() { suji.add(Test_1.num); System.out.println(suji); }
}
試したこと
自分なりに考えましたが、恐らく「Test_1」のfor文で作った数字を
変数に代入する所の処理がおかしいと思います。
変数「num」への代入の際、数字が繰り返し代入され上書きされていった結果
最終的に変数「num」に値「10」が入った状態になる→配列に格納される際に「10」という
数字だけが格納される、といった状態が起こるのだと考えました。
しかし改良の方法が分からず、ここで学習がかなりの時間止まってしまっているので
質問しました。
初歩的な質問で申し訳ございません。
補足情報(FW/ツールのバージョンなど)
・eqlipceを使い処理の仕方を勉強しています。