这个问题在这里已有答案:
我是Java的新手,为了更多地了解我正在尝试制作一款游戏,你可以从一首歌中随机抒情,然后是歌曲名称和艺术家。
这很容易,但是我希望歌词是随机的,然后使用单独的方法打印艺术家和歌曲标题。我的问题是,我不确定如何从打印一个随机字符串到打印特定答案。
我目前在一个散列图中有歌词和答案,歌词作为键和答案作为值,并且可以通过使用此方法将它们变成arraylist来打印随机键
public void randomLyrics()
{
ArrayList<String> lyricKey = new ArrayList<String>(lyrics.keySet());
if(lyrics.size() > 0) {
Random rand = new Random();
int index = rand.nextInt(lyrics.size());
System.out.println(lyricKey.get(rand.nextInt(lyrics.size())));
}
}
但是我很确定这不是正确的方法,而且我不确定如何单独打印答案。
任何帮助将非常感激。
另外只是为了澄清,我想调用一个方法(randomLyrics),它会显示一个随机的歌词,例如“那是我在角落,这是我在聚光灯下”,然后调用一个单独的方法(答案)然后打印“失去”我的宗教 - REM“
非常感谢
这是完整的示例运行此程序多次,您将获得一些随机值: -
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
public class HashM {
public static void main(String[] args) {
HashMap<String, String> lyrics = new HashMap<>();
// KEY :- Lyrics AND Value is Album Name
lyrics.put("that's me in the corner, that's me in the spotlight", "Losing My Religion - R.E.M.");
lyrics.put("I will try not to breathe I can hold my head still with my hands at my knees",
"Automatic for the People");
lyrics.put("Eu não aturo mais Sou um trator", "É Duda Brack");
randomLyrics(lyrics);
}
public static void randomLyrics(HashMap<String, String> lyrics) {
ArrayList<String> lyricKey = new ArrayList<String>(lyrics.keySet());
if (lyrics.size() > 0) {
Random rand = new Random();
int index = rand.nextInt(lyrics.size());
System.out.println("###::####Your Random Number is :-" + rand.nextInt(lyrics.size()));
System.out.println(lyricKey.get(rand.nextInt(lyrics.size())));
}
}
}