🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

Q&A

解決済

1回答

1100閲覧

リストからランダムにアウトプット

fruitpunch

総合スコア6

Java

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

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

0グッド

0クリップ

投稿2021/03/22 11:23

初心者で分かりづらい質問をしてもうしわけないですけど、どうやったら自分の作ったリストの中からThreadLocalRandom.current()を使って一つだけランダムにoutputさせられますか?
まったく見当つかないので、どなたか解説お願いできますでしょうか?

import java.util.*; import java.util.concurrent.ThreadLocalRandom; import static java.lang.System.*; public class Q6{ static Scanner input = new Scanner(System.in); public static void main(String[] args){ List<City> city = new LinkedList<>(); city.add( new City("Wellington")); city.add(new City("New helhi")); city.add(new City("Berlin")); city.add(new City("Bangkok")); city.add(new City("Athens")); city.add(new City("Amsterdam")); List<Country> country = new LinkedList<>(); country.add(new Country("New Zealand")); country.add(new Country("India")); country.add(new Country("Germany")); country.add(new Country("Thailand")); country.add(new Country("Greece")); country.add(new Country("Netherlands")); userEnter(city); } public static void userEnter(List<City> city) { int n = ThreadLocalRandom.current().nextInt(0,6); while(true){ out.printf("Which country has the capital city %s?", city); out.print("Enter up to three names, comma-separated: "); String userInput = input.nextLine(); String[] answerList = userInput.split(","); List<Integer> nums = new LinkedList<>(); for (String e : answerList) { nums.add(Integer.parseInt(e)); } for (int e = 0; e < 3; e++) { out.println("Too many names. Game over."); } } } }

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

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

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

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

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

hoshi-takanori

2021/03/22 18:27

とりあえず city の n 番目を output すれば良いのでは。 あと、City や Country に getName または toString が必要かも。
dodox86

2021/03/23 05:41

何となく提示コードの完成度と質問内容の差からすると、この、与えられたコードに対して「ThreadLocalRandom.current()を使って一つだけランダムにoutput」と言うコードを組み込め、という課題でしょうか。既にコメントもいただいていますが、「まったく見当がつかない」状態だとコードを交えての全解説くらいが必要で、それはもはや丸投げです。できるところまでがんばって自分でコードを書きましょう。
fruitpunch

2021/03/23 09:33

解決しました ありがとうございました
guest

回答1

0

自己解決

import java.util.*; import java.util.concurrent.ThreadLocalRandom; import static java.lang.System.*; public class Q6{ static Scanner input = new Scanner(System.in); public static void main(String[] args){ List<String> city = new LinkedList<>(); city.add("Wellington"); city.add("New helhi"); city.add("Berlin"); city.add("Bangkok"); city.add("Athens"); city.add("Amsterdam"); List<String> country = new LinkedList<>(); country.add("New Zealand"); country.add("India"); country.add("Germany"); country.add("Thailand"); country.add("Greece"); country.add("Netherlands"); userEnter(city,country); } public static void userEnter(List<String> city, List<String> country) { int n = ThreadLocalRandom.current().nextInt(0,6); String question = city.get(n); String answer = country.get(n); out.printf("Which country has the capital city %s?\n", question); out.print("Enter up to three names, comma-separated: "); String userInput = input.nextLine(); String[] answerList = userInput.split(","); if (answerList.length >3){ out.println("Too many names. Game over."); }else { boolean correct = false; for (String a : answerList){ if (a.equalsIgnoreCase(answer)){ out.printf("The country is %s.\nYou’re correct. Well done.", answer); correct = true; } break; } if(correct==false){ out.printf("The country is %s.\nYour answer is incorrect.", answer); } } } }

<list>.get(n);を使えば解決できました!

投稿2021/03/23 09:46

fruitpunch

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問