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

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

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

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

解決済

[Java]0~10までの乱数を重複なしで表示したい。また0が出力されると処理を終了する。

kwskyshr825
kwskyshr825

総合スコア9

Java

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

5回答

0グッド

0クリップ

1718閲覧

投稿2019/07/29 06:35

編集2019/07/29 06:48

下記のような処理をしたい。

Java

10~10までの乱数を重複なしで表示したい。 2また0が出力されると処理を終了する。

現在の記述中(エラー)のプログラム

Java

1package problemex5; 2import java.util.ArrayList; 3 4public class Problemex5_1 { 5 6 public static void main(String[] args) { 7 ArrayList al = new ArrayList(); 8 for( int i = 0 ; i < 11 ; i ++) 9 al.add ( new rand ( i ) ); 10 11 for(int i = 0; i < al.size() ; i++){ 12 rand s = (rand)al.get(i); // i番目のオブジェクトを取得 13 System.out.println("番号:" + s.getNumber()); 14 } 15 } 16}

Java

1package problemex5; 2 3public class rand { 4 // 番号 5 private int number; 6 // コンストラクタ 7 public rand(int number){ 8 this.number = number; 9 } 10 // 番号の取得 11 public int getNumber(){ 12 return number; 13 } 14}

現在の記述中のエラー

乱数表示されない。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2019/07/29 06:37

>問題をときたい 「自分でやりましょう」という指摘がつくと思いますのでがんばってください。
m.ts10806

2019/07/29 06:43

> new rand ( i ) これ、そもそもどこに定義されているのでしょうか。Randomなら分かりますが。randとは?
LouiS0616

2019/07/29 07:06

乱数を自前で実装しなければならないのですか?

回答5

2

Collectionのshuffleを使うと楽かと思います。
もしよかったらどうぞー!

import java.util.Collections; import java.util.ArrayList; public class Problemex5_1 { public static void main(String[] args) { ArrayList<Integer> al = new ArrayList<Integer>(); for(int i = 0 ; i < 11 ; i++) { al.add(i); } Collections.shuffle(al); System.out.println(al); } }

投稿2019/07/29 07:05

kiddayo

総合スコア240

katoy, kwskyshr825👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

kwskyshr825

2019/07/29 07:36

package problemex5; import java.util.ArrayList; import java.util.Collections; public class Problemex5_1 { public static void main(String[] args) { int i , j; ArrayList<Integer> list = new ArrayList<Integer>(); // listに値を入れる。この段階では昇順 for( i = 0 ; i <= 10 ; i++) { list.add(i); } // シャッフルして、順番を変える Collections.shuffle(list); // シャッフルした結果を表示させる // System.out.println(list); for( i = 0 ; i <= 10 ; i ++ ) { System.out.println( "0~10の値を出力:" + list . get ( i ) ); if( list . get ( i ) == 0 ) break; } } }

1

回答にあるコードを少し書き換えてみました。

java

1package teratail; 2 3import java.util.ArrayList; 4import java.util.Collections; 5import java.util.List; 6 7public class Problemex5_1 { 8 static final int SIZE = 10; 9 10 public static void main(String[] args) { 11 List<Integer> list = new ArrayList<Integer>(); 12 List<List<Integer>> odd_even = new ArrayList<List<Integer>>(2); 13 odd_even.add(new ArrayList<Integer>()); 14 odd_even.add(new ArrayList<Integer>()); 15 16 for (int i = 0; i < SIZE; i++) { 17 list.add(i); 18 } 19 Collections.shuffle(list); 20 21 for (int v : list) { 22 System.out.println("0~" + (list.size() - 1) + "の値を出力:" + v); 23 if (v == 0) { 24 break; 25 } 26 odd_even.get(v % 2).add(v); 27 } 28 System.out.println("偶数:" + odd_even.get(0)); 29 System.out.println("奇数:" + odd_even.get(1)); 30 } 31}

投稿2019/07/29 13:32

katoy

総合スコア22294

kwskyshr825👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

初投稿でドギマギの部分もあったかと思いますが
ありがとうございました。

投稿2019/07/29 09:00

kwskyshr825

総合スコア9

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

package problemex5;
import java.util.ArrayList;
import java.util.Collections;

public class Problemex5_1 {
public static void main(String[] args) {
int i ;
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>();

// listに値を入れる。この段階では昇順 for( i = 0 ; i <= 10 ; i++) { list.add(i); } // シャッフルして、順番を変える Collections.shuffle(list); // シャッフルした結果を表示させる

// System.out.println(list);
for( i = 0 ; i <= 10 ; i ++ ) {
System.out.println( "0~10の値を出力:" + list . get ( i ) );
int j = i;
if( list . get ( i ) == 0 ) {

for(i = 0; i <=j; i ++) { if ( list . get ( i ) %2 == 0 ) { list1.add(list . get ( i )); } else if ( list . get ( i ) %2 == 1 ) { list2.add(list . get ( i )); } } break; } } System.out.println("偶数:"+list1); System.out.println("奇数:"+list2);

}
}

投稿2019/07/29 08:59

kwskyshr825

総合スコア9

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

2019/07/29 23:59

こちらの回答が他のユーザーから「過去の低評価」という指摘を受けました。

0

ベストアンサー

「JAVA 乱数」でぐぐると乱数の発生させ方が出てきます
まずは0から10の乱数を出すことから始めましょう

投稿2019/07/29 06:43

y_waiwai

総合スコア85997

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

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