質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

4回答

4786閲覧

java言語でわからない点があったので質問しました。

naribo123

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2017/10/16 10:37

java言語初心者で勉強している者です。
普段は一週間で身につくjava言語の基本というサイトで勉強しています。
そこのサイトでわからない問題があります。
こちらがそのサイトです→http://java.sevendays-study.com/problem3.html#problem4
その、
forループを用いて、1から100までの乱数を5回発生させ、表示させなさい。
forループを用いて、1から100までの乱数を5回発生させ、表示し、終了後その中の最大値を表示しなさい。
forループを用いて、1から100までの乱数を5回発生させ、表示し、終了後その中の最小値を表示しなさい。
の部分がわからなくて困っています。
よろしければ教えてください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

こんにちは、
for文を用いてい5個の乱数を配列に格納し,
表示および、最大値、最小値を求めました。

「乱数を取得する」はhttp://ysklog.net/java/4-15.htmlをご覧ください。

Java

1 2public class Random { 3 4 public static void main(String[] args) { 5 6 int []number = new int[5]; 7 int min = 100; 8 int max = 0; 9 for(int i = 0; i < 5; i++){ 10 number[i] = (int)(Math.random() * 100 + 1); 11 } 12 for(int i = 0; i < 5; i++){ 13 if(max <= number [i]){ 14 max = number [i]; 15 } 16 if(min >= number[i]){ 17 min = number[i]; 18 } 19 } 20 for(int i = 0; i < 5; i++){ 21 System.out.printf("%d ",number[i]); 22 } 23 System.out.println(); 24 System.out.printf("最大値:%d 最小値:%d",max,min); 25 } 26}

投稿2018/03/22 06:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

umyu

2018/03/22 07:35

>Stars1024さんへ 回答コードに対しての指摘をしても大丈夫でしょうかー?
退会済みユーザー

退会済みユーザー

2018/03/22 07:57

はい、何でしょうか?
umyu

2018/03/22 08:01 編集

1,クラス名 Random は 1-1,このクラスで行っている事がRandomではない 1-2,このクラスを使用する人に標準ライブラリのjava.util.Randomと誤解されやすい この2点があるので、他のクラス名が適切ではないでしょうか例えばクラス名がAnswerやA96550など。 2,i < 5の部分はnumber.lengthが使えます。 もしも配列の要素数が5から変更になっても、.lengthなら修正する必要がないです。 3,Math.random() * 100 + 1の部分 java.util.Random#nextIntが使えます。 4,System.out.printfで"%d "だと最後に1個スペースが多く出力されます。 ifで最終要素の判定をするか、質問文の要件と少し外れてしまいますが、String.joinまたはjava.util.StringJoinerを使うとこの問題は防げるかと。
退会済みユーザー

退会済みユーザー

2018/03/22 08:08 編集

すみません。問題文を見てとりあえず乱数を使うと分かったのでRandomと名前を付けてしまいました。 全て umyuさんの言う通りです。ご指摘ありがとうございます。 勉強不足なので努力します。
umyu

2018/03/22 08:11

>Stars1024さんへ あ、ごめんなさい。回答していない私が、回答内容に文句をいうのがあまり良くなかった感がありますね。 こういうふうにできますよーという点だけ。すみませぬ。。
退会済みユーザー

退会済みユーザー

2018/03/22 08:23 編集

自分も勉強になったので良かったです。 色んな人と話を深めてプログラミングの力をつけたり、ソースコードを改良していくための teratailだと思います。
guest

0

forループを用いて、1から100までの乱数を5回発生させ、表示し、終了後その中の最大値を表示しなさい。

(for文 開始) // iを初期化して、5回ループするようにする
配列[i] = 乱数生成 // ここで格納, 1~100までの乱数を生成する関数は?
表示(配列[i]) // ここで表示
(for文 終了)

// 配列の中の一番大きい数字を表示する関数を使う
表示(大きいの出力関数(配列))

// 小さいのも大きいのもそんな関数があるのでは??

投稿2017/10/16 11:25

編集2017/10/16 11:26
kashim

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まずは、細かく分けてみましょう。

1つ目の「forループを用いて、1から100までの乱数を5回発生させ、表示させなさい。」は、要素に分ければ以下のとおりです。

  • forループを5回回す
  • 1から100までの乱数を発生させる
  • 生成した数値を表示する

このうち、わからないのはどこでしょうか。


どうやって組めばいいのかわからないプログラムでも、とりあえずできるところから始めれば、いつの間にか出来上がっているものです。

投稿2017/10/16 11:08

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naribo123

2017/10/16 11:28

forループをどのように5回回すのかがわからないです プログラム自体は組んでみました。 私はforループに乱数を発生させ生成した数値の表示し、そのforループ5個作りました for(int i =(int)(Math.random()*100)+1){ System.out.println(i); break;
guest

0

わからない部分(わかる部分)は、どれですか?

  • 1から100までの乱数を発生させること
  • 発生させた乱数が最大値(または最小値)か判定すること
  • 発生させた乱数を表示すること
  • 上記をforループで5回繰り返すこと

forループで5回くりかえすのは、基本編に載ってますけど・・・

追記:最大値判定
Collectionsを使うっていうのも手ですが、ここでは教科書的に。
最大値を保存する変数を作って0で初期化します。(ここはループの外側)
以下をループ内で行う。
発生させた乱数と最大値を比較して、乱数が大きい場合、最大値を上書きします。
※最小値を判定する場合は、初期値を100以上にすればよいです。

投稿2017/10/16 11:05

編集2017/10/16 12:33
momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naribo123

2017/10/16 11:08

返答ありがとうございます。 説明不足で申し訳ありません 発生させた乱数が最大値(または最小値)か判定することです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問