前提・実現したいこと
ここに質問の内容を詳しく書いてください。
コマンドライン引数から入力した数が加算の結果となり、
数値の組み合わせをコンソールに出力するプログラムを作成。
【条件】
・加算の対象となる数値は1〜15まで、10個、ランダムにプログラム中で選択する。
・加算は、ランダムに選択した数値と数値を加算してその結果がコマンドライン引数の値と一致するようにする。
(例)
引数:10
ランダムに選択した数値:1,11,5,4,9,3,7,10,2,14
↓
1+9が10となるので、1パターンを出力する。
・コンソールに出力する内容は下記になる。
引数:10
選択した数値:1,11,5,4,9,3,7,10,2,14
結果:1+9
・選択した数値の加算で結果の組み合わせがない場合は、
結果:なし
出力する
エラーは現在ないですが、ランダムに値を出力した際に、
ランダムデータが重複してしまうため、
重複しないデータを取得したい場合にどのようにコーディングすればいいのか教えてください。
いろんな書き方があると思うので、参考にしたい為ご教示ください。
よろしくお願いします。
該当のソースコード
Java
1public class selectAdd { 2 /** 3 * mainメソッド. 4 * 5 * @param args コマンドライン引数 6 * @return result 結果 7 */ 8 public static void main(String[] args) { 9 10 String str = args[0]; // コマンドライン引数 11 try { 12 int num = Integer.parseInt(str); // stirng→int変換 13 Random random = new Random(); // randomクラスの生成 14 ArrayList<Integer> list = new ArrayList<>(); 15 for (int i = 0; i < num; i++) { 16 17 int randNum = random.nextInt(15) + 1; // 対象の数値 18 System.out.println(randNum); 19 } 20 21 } catch (NumberFormatException e) { 22 System.out.println("数値を入力してください。"); 23 24 } 25 26 } 27}
試したこと
~~listを使用して、~~listの中に格納して重複しないか判別を行ったりと試行錯誤しているのですが、必ず、重複したデータが出力されてしまう。
補足情報(FW/ツールのバージョンなど)
Java8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。