- 締切済み
JAVA プログラムが正しく動きません
プログラム初心者です。Linux suseを使っています。 計算結果を出力するプログラムを作っています。時刻ごとのn個の粒子の様子を計算しています。 forが入れ子になっていて、それをn回計算しているのを、T回計算するように組みました。 時刻tの時のi番目の粒子のポテンシャル(Eという変数)を計算させたつもりなのですが、だんだん減るはずが増えています。 Eは二つの数値を足しているのですが、片方の数値を表示させたところ、毎回微妙に違うのですが [D@1ca318a というような数値(?)が出てきます。 この数値(のようなもの)は一体なんでしょう?文字化け? でもコンパイルできているしEが出てくるってことは計算は一応しているんですよね? この数値とポテンシャルが増えてしまうのは関係があるのでしょうか?それともポテンシャルの計算式が間違っているから増えているんでしょうか? 質問文が曖昧な感じになってしまってすみません。原因がどこにあるのか見当がつかなくて途方にくれています。もし心当たりある方がいらっしゃったら回答お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- layy
- ベストアンサー率23% (292/1222)
これだと解くカギが少ないので答えようがないです。 デバッグ、あるのみ。 それと 計算なら逆算、終了した時点から逆にさかのぼるとかはできませんか?。 計算が行われている確認を取っているなら、 3+○=7なら4とわかります。 最初の値から追いかけることと終了値から追いかけることと データ着目して追いかける。 もちろんロジックの見直しが最優先。 コンパイルエラーがない=正常に結果が出る の解釈は違います。 知りたい部分をプログラムで引き出せませんか?。 他プログラムではメッセージボックス等で変数の値表示したりします。 コード眺めてもなかなか解決しません。