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

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

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

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

Q&A

3回答

954閲覧

一次元配列に1~100までの数字を乱数でセットするにはどうすればよいですか? 初学者です。

akata

総合スコア3

Java

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

0グッド

0クリップ

投稿2021/09/07 02:45

編集2021/09/07 03:08

package test;

public class Testclass {

public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ double d = Math.random(); int i = (int)(Math.random()*100); int[] ii = {i}; System.out.println(i); }

}

ここまで書きました。

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

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

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

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

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

maisumakun

2021/09/07 02:50

どこまでコードを書いてみましたか?
m.ts10806

2021/09/07 02:55

「乱数を生成」と「任意の値を配列にセット」 別々に組めますか?
maisumakun

2021/09/07 03:10

現状のコードでは、どのような問題があるのですか?
akata

2021/09/07 03:15

配列についてよくわかってないんだと思います。
m.ts10806

2021/09/07 03:15

コードはマークダウンのcodeにてご提示ください。 質問には「初心者アイコン」がつけられるのでタイトルや質問内容に書く必要はありません。 あと、「配列の定義と値の設定」なら調べて出てくる範囲だと思いますが、どのように調べ、何を試したのでしょうか。 調べて出てくる範囲なので、ここで答えだけもらったところで身につかないと思います。 現状だと「どうすればよいか」で丸投げですし、どこまでの確度のアドバイスが欲しいのか明確ではないです。 せめて質問テンプレート使ってください。
m.ts10806

2021/09/07 03:16

>配列についてよくわかってないんだと思います。 では「入門系の記事などで理解を深めましょう」というアドバイスに留まります。
Zuishin

2021/09/07 03:24

Java の入門サイトはよく知りませんが、たとえば次のようなサイトで、**知りたいところだけでなく** 前から順に学習していくことから始めたら良いのではないでしょうか。 https://www.javadrive.jp/start/ ここが合わなければ自分で探してみてください。 遠回りに思えるかもしれませんが、何も知らずコードを書くより、基本的なことを知った上で書くのが近道です。 何も知らなければ言葉も通じないので質問もままなりません。
akata

2021/09/07 03:28

この問題ってそんなに複雑なんですか?
Zuishin

2021/09/07 03:29

いいえ。答えを書くだけなら簡単です。 課題代行してほしいのなら知恵袋にどうぞ。
maisumakun

2021/09/07 03:30

> 一次元配列に1~100までの数字を乱数でセットするにはどうすればよいですか? 解釈によっては「今のコードでもできています」(要素数1の一次元配列に1~100までの数字1つを乱数でセットすることには成功しています)。 実現したいことを、より具体的にしていただけないでしょうか?
Zuishin

2021/09/07 03:33

https://teratail.com/help/avoid-asking > 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。 「推奨していません」は難しい言葉のようで、初心者の中には読めない人もいます。 「例外的に認められる場合を除いて、しないようにしてください」と読んでください。 「お勧めしません」のように否定的な言葉です。
akata

2021/09/07 03:35

課題代行というわけではないです... 最終的に昇順で並べ替えたいので、少なくとも二つ以上セットしなければならないと思うんです。でもdoubleからintに変換して...と何度も繰り返さずに済む方法があったら知りたいなと思って質問したんだと思います。
m.ts10806

2021/09/07 03:38

質問に書いてないことは考慮できません。赤の他人ですから。 質問本文を精査してください。
yambejp

2021/09/07 04:02

なにも情報提供がないと質問が本当にjavaかどうかも怪しいですね・・・
jimbe

2021/09/07 04:36

> この問題ってそんなに複雑なんですか? 例えば「卵を割る方法を教えてください」という質問があったとしましょう。簡単な質問のはずですね? ところが、書き方が簡単な分、裏を読もうとすると難しくなります。 『何か特殊な場所で行おうとしているのか?』 『店舗用に短時間で多量に割るのかも』 『割った「殻」を使うから綺麗に割れなければならないとか』 『鶏の卵でなくダチョウの卵もありえる』 『中の雛の成長具合を見るだけなら、割らなくても裏からライトで照らせば見えるけど』 等々…。 状況を判っている本人からすれば「読みすぎにも程がある」と思うでしょうけれど、teratail は(自称?)エンジニアを対象としたサイトですので、少なくともプログラムが仕様通りに動き、かつ、想定外の動きをしないようにすることを考えることが出来る方々が集まっていると思います。 想定外の動きをしないということは、出来る限りのことを想定するということです。 実際の所、エンジニアがどんな情報を求めているかをエンジニアで無い方が初めから想定して質問を書くのは難しいとは思います。 その為に、ヘルプにどのように書かれると回答が得易いか書かれていたり、質問の雛型があったりしています。 それらをご参考・ご利用頂ければと思います。
guest

回答3

0

java8以降であれば、乱数を複数発生させるAPIが用意されています

Random#ints(long, int, int)

// 1~100までの乱数を50個生成して配列にする
int[] array = new java.util.Random().ints(50, 1, 101).toArray();

投稿2021/09/07 04:45

momon-ga

総合スコア4820

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

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

0

doubleからintに変換して

Math.Randomではなくutil.Random だとnextInt()でintが取れるので変換の必要はとりあえずはないです。

いずれにしても「何度も書きたくない」のでしたらメソッドにして呼び出せば良いと思います。

投稿2021/09/07 03:44

m.ts10806

総合スコア80850

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

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

0

doubleからintに変換して...と何度も繰り返さずに済む方法があったら知りたいなと思って質問したんだと思います。

「エレガントに書く」ことは、後回しで構いません。とりあえず「何度も繰り返」して書いてみましょう。

投稿2021/09/07 03:37

maisumakun

総合スコア145184

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問