前提・実現したいこと
研究でシミュレーションプログラムを作っております.
ある程度組み終わってデバッグ作業をしようとしたところ,タイトルの現象が起きました.
分かりづらいかと思いますので,下記に具体例を示します.
該当のソースコードと発生している問題
あるクラス群をまとめるための,object_pというクラスの中にdijkstraという名前のDdijkstra型の二次元配列があるとします.
例えば下記の通りなら問題なく結果の出力が行われます.
Java
1 System.out.println("OK1"); 2 System.out.println(object_p.dijkstra.length); 3 System.out.println("OK2"); 4 5
出力結果 OK1 11 OK2
しかし,真ん中の文を下記のように変更した場合,それ以降の結果が出力されなくなりました.
c_finishとはdijkstra内にあるboolean型の変数です.
Java
1 System.out.println("OK1"); 2 System.out.println(object_p.dijkstra[1][1].c_finish); 3 System.out.println("OK2");
出力結果 OK1
dijkstraの宣言の仕方は下記のようになっています.
Dijkstraのコンストラクタとしてc_finishをfalseにする処理は入れています.
Java
1public class Object_p { 2 3 public Dijkstra[][] dijkstra; 4 5 //コンストラクタ 6 Object_p(int n){ 7 this.dijkstra=new Dijkstra[n][n]; //配列の作成 8 9 for(int i=0;i<n;i++) { 10 for(int j=0;i<n;i++) { 11 this.dijkstra[i][j]=new Dijkstra(); //インスタンスの作成 12 } 13 } 14 } 15} 16
シミュレーションの一部分を簡略化して示しているので,不十分な所があるかもしれません.
配列のサイズはちゃんと返してくれるのに,具体的に中身の変数を指定した時,出力処理が止まってしまいます.
それ以降のプログラムも実行されていないようです.
考えられそうな理由など,どうか知恵をお貸し頂ければ幸いです.
回答2件
あなたの回答
tips
プレビュー