pribaoutkiのプロフィール
- ベストアンサー数
- 0
- ベストアンサー率
- 0%
- お礼率
- 0%
- 登録日2009/10/04
- double配列を戻り値としたメソッド
最近Javaを始めたのですが、あまり知識がなく勘で書いているため今回配列の戻り値でつまずいてしまいました。 プログラムは一応VB,C#,Cをそこそこ書けるだろうといったレベルだと思っています。 問題はタイトル通りなのですが、Tryの中にdouble[] doubFuv = Hunx((int)intpara); として、Hunx(同じクラスにstaticで宣言)は単純に配列を引数分作ってrundi[i] = Math.random();とし、最後にそのままreturn rundiしています。 ここでHunx内でprintlnして実行を確認すると正常に配列に値がはいているのですが、戻り値を受け取った側のdoubFuvには配列の中の幾つかが欠落(本来は0~1までの乱数のはずが、全体の3割に0.0が混入)してしまうといった今まで出会ったことのない状態になっています。 おそらくスレッドで何かぶつかっているのだと思いロックしてみようかと思いましたが、その方法もわからず途方に暮れています。 解決のヒントでもいいので、よろしくお願いいたします。
- double配列を戻り値としたメソッド
最近Javaを始めたのですが、あまり知識がなく勘で書いているため今回配列の戻り値でつまずいてしまいました。 プログラムは一応VB,C#,Cをそこそこ書けるだろうといったレベルだと思っています。 問題はタイトル通りなのですが、Tryの中にdouble[] doubFuv = Hunx((int)intpara); として、Hunx(同じクラスにstaticで宣言)は単純に配列を引数分作ってrundi[i] = Math.random();とし、最後にそのままreturn rundiしています。 ここでHunx内でprintlnして実行を確認すると正常に配列に値がはいているのですが、戻り値を受け取った側のdoubFuvには配列の中の幾つかが欠落(本来は0~1までの乱数のはずが、全体の3割に0.0が混入)してしまうといった今まで出会ったことのない状態になっています。 おそらくスレッドで何かぶつかっているのだと思いロックしてみようかと思いましたが、その方法もわからず途方に暮れています。 解決のヒントでもいいので、よろしくお願いいたします。
- 光速を超えるのは不可能?
ロケットで光速に近い速度で 地球から宇宙に飛んで帰ってきます。 その間、地球では10年が経過しますが、 特殊相対性理論より、時間の流れが遅くなり、 ロケットの中では5年しか経たなかったとします。 距離を計算するには、 (速さ)×(時間)ですよね。 地球から見てもロケットの中でも飛んだ距離は同じですが、 経過した時間が違います。 つまり、 (地球側から見たロケットの速さ)×(10年) =(ロケット側から見たロケットの速さ)×(5年) 学校で習った通りに計算すると ロケット側では、光速を超えているような 気がするんですが、 何が間違っているのでしょうか?
- 締切済み
- 物理学
- cfgjnchgjd
- 回答数7
- ロケットについての疑問
燃料タンク1つにエンジン1つがついたロケットをロケットAとします。そのロケットの横にもう1機同じロケットをつけます。これをロケットBとします。今度は燃料タンク2つを縦にくっつけその下に横に並べた2つのエンジンをつけます。これをロケットCとします。 ロケットAの打ち上げた飛行距離は10kmとします。ロケットBの飛行距離はというとこれも10kmで変わらないと思います。では、ロケットCの飛行距離を考えて見ます。 ロケットCはロケットAの燃料タンクが2つあるロケットです。まず1つ目の燃料タンクでの飛行距離を考えます。飛行時間はロケットBの半分になり、最初は速度が遅いので3km飛んだとします。次に2つ目の燃料タンクでの飛行距離を考えます。燃料タンクはロケットAのときと同じ1つになるので飛行距離は10kmになります。合わせると13kmになります。そうするとロケットBとロケットCは同じ数の燃料タンクとエンジンを使っているのに飛行距離が変わってしまい変な結果になってしまいました。 どこがおかしいか分かるでしょうか?