- ベストアンサー
Java初歩。ループ問1~6の内5・6
- 問題は、全て、「forループ」を使って記述しなければなりません。
- (1)~(2)は、他にどんなやりかたがあるのか興味がありまして、質問させて頂きました。
- (3)からは、ずっと試しているのですが、全くできません…悔しいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
5 ・サマリー用の変数を正と負の2つ用意する。 ・for文で配列を回す。 ・正か負か判定してそれぞれのサマリー用変数に足す。 以上。 6 MathクラスやArraysクラス、Collectonsクラスを使えば簡単だけど。 きっとそれじゃダメなのよね。 ・変数min,max,sumを用意する ・まずインデックス0の数字をminとmaxに格納する ・インデックス1からループを開始する ・ループ内の処理はこんな感じ ・・処理対象の数字がmin以上max以下ならsumに足す ・・処理対象の数字がmin未満ならminをsumに足し処理対象の数字がminになる ・・maxも同じようにする ・あとは平均を出すだけ
その他の回答 (1)
- ushioja
- ベストアンサー率0% (0/1)
こんにちは。Java初心者です。(5)だけコード載せます。たぶんこんな親切?な人間は私しかいないと思います。大昔x86系のアセンブラやってました。今は社労士なんですけどなぜかある会社の新人研修の準備中に「あっ、あんた乱数生成のロジック、Javaで書いといて。yy桁の乱数をxx個作るというやつ。レジメの目次にあるんだけど中身(担当部署に)頼むの忘れたんで。この際いかにもサンプルをコピペしてますみたいなのより、"そこそこ集中して考えたら私でもできました。計算量がどうのこうの言う以前に、目的を果たそうという意欲が大切ですねえ"というようなの、いいね。」・・・だと。それで家に帰ってWebで調べた (もうここで失格ですけど) プログラムはどれも beyond my understanding。「どーしてshuffleしないといけないの。確率持ち出すことないじゃんとか。」とか・・・今でも疑問ですけど、これから勉強していきます)調べる時間が惜しくて自分の知識だけでなんとかできないかと四苦八苦。パニクッタあげくここで質問して、思いっきり恥をかきました。バグの原因は口が裂けても言えません。 でも、そのときあのような愚問に丁寧に答えを寄せていただいた方々のおかげで助かりましたので、私もあなたへ・・・です・・・が・・プログラミングの単位落として興味のもてることに時間を使ったほうがいいのかなあ。参考書かWebを当たって(6)をご自身で解くことができるかどうかで結構大きなことが決まるかも分かりませんね。 public static void main(String[] args) { int[] data = {100, -50, 200, 150, -300}; int plus = 0; int minus = 0; for(int i=0; i<data.length; i++){ if(data[i]>0){ plus += data[i]; }else if(data[i]<0){ minus += data[i]; } } System.out.println("正の値の合計値=" + plus); System.out.println("負の値の合計値=" + minus); } }
お礼
どうも、ありがとうございます♪♪ 経験談も話していただけて、よかったです。 ちなみに、入学試験とかではなく、個人的なものですのでw
お礼
どうもありがとうございました☆ とても参考になりました^^ 『MathクラスやArraysクラス、Collectonsクラスを使えば簡単だけど。』 とありましたので、 良かったら、そちらもききたいなって思いました。^^