- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个模拟媒体播放器程序,允许用户输入、编辑、删除和查看所有轨道。很基本,我知道。但是我想添加一个功能,允许每次选择“播放随机歌曲”时打印数组列表中的随机条目以模拟音乐播放器的随机播放功能。
所以我的方法会像
public void playRandom()
{
System.out.println("Now Playing: " + *insert code here?* ")
}
//imports the Random mechanism
import java.util.Random;
//imports the scanner
import java.util.Scanner;
public class MainClass extends UserInput {
public String nextInt;
public static void main(String[] args) {
//Links to the UserInput class to create an object that stores
//user input
UserInput ui = new UserInput();
//Creates new scanner object
Scanner input = new Scanner(System.in);
//Declares the int "opt" so it can be used in the menu
int opt;
//Calls Methods Class so methods can be used below
Methods methodsFunctions = new Methods();
//initial prompt only displayed when program is first ran
System.out.println("Welcome to your music library");
//Usig a do while loop so that the program keeps running until
//a specific condition is met, in this case it's when 0 is selected.
do
{
//Menu Prompts printed to the screen for the user to select from
System.out.println("........ \n");
System.out.println("Press 0 to Exit\n");
System.out.println("Press 1 to Add a Song\n");
System.out.println("Press 2 to View All Songs\n");
System.out.println("Press 3 to Remove a Song\n");
System.out.println("Press 4 to Edit Song Information\n");
System.out.println("Press 5 to Play Random Song\n");
System.out.println("Press 6 to Delete All Songs\n");
//Monitors the next Int the user types
opt = input.nextInt();
//"if" statements
if (opt == 0)
{
//This corresponds to the condition of the while loop,
//The program will exit and print "Goodbye!" for the user.
System.out.println("Goodbye!");
}
else if (opt == 1)
{
//This method allows the user to add a song to the library.
//With the format being Title, Artist, Year.
methodsFunctions.addEntry();
}
else if (opt == 2)
{
//This method prints the contents of the Array List to the screen
methodsFunctions.viewAll();
}
else if (opt == 3)
{
//This method allows the user to remove an indiviual song from
//their music library
methodsFunctions.removeOne();
}
else if (opt == 4)
{
//This method allows the user to edit the data of a particular
//and then prints the new value on screen
methodsFunctions.editItem();
}
else if (opt == 5)
{
//This method will print out "Now playing" followed by a random
//song to simulate a music player's shuffle effect.
//methodsFunctions.RandomSong();
System.out.println("Now Playing ");
}
else if (opt == 6)
{
//This method will clear all contents of the library.
//It will ask the user to confirm their choice.
methodsFunctions.clearAll();
}
else
{
//If the user selects an incorrect number, the console will
//tell the user to try again and the main menu will print again
System.out.println("Incorrect Entry, please try again");
}
} //do-while loop
while (opt > 0);
}
}
package ca1;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Methods extends UserInput
{
Scanner input = new Scanner (System.in);
//Declare array lists
List<String> songName = new ArrayList<>();
List<String> songArtist = new ArrayList<>();
List<Integer> songYear = new ArrayList<>();
UserInput ui = new UserInput();
private Random newRandom;
public void clearAll(){
System.out.println("Are you sure?");
System.out.print("1: Yes \n2: No" + "\n");
System.out.print("");
int confirmDelete=input.nextInt();
if (confirmDelete == 1){
songName.clear();
songYear.clear();
System.out.println("Your music library has been cleared");
}
}
public void viewAll(){
System.out.println("\n");
for (int i = 0; i < songName.size(); i++){
int counter=i+1;
System.out.println(counter+": "+songArtist.get(i)+" - "+ songName.get(i)+ " (" +songYear.get(i)+") ");
}
System.out.println("\n");
}
public void addEntry(){
//System.out.print("Enter Name: ");
String newName = ui.getString("Enter the name of the track");
songName.add(newName);
String newArtist = ui.getString("Who performs this track");
songArtist.add(newArtist);
System.out.print("What year was the track released? ");
int newYear=input.nextInt();
songYear.add(newYear);
System.out.println("\n" + "Thank you, " +songName.get(songName.size()-1) + " has been added to the library.");
System.out.println("\n" + "Press 2 to view your library." + "\n");
/*
System.out.println("\n"+songName.get(songName.size()-1));
System.out.println("\n"+songArtist.get(songArtist.size()-1));
System.out.println("\n"+songYear.get(songYear.size()-1));
*/
}
public void removeOne(){
System.out.println(" Which song would you like to delete? (1 to "+songName.size()+")");
viewAll();
int remove=input.nextInt();
if (remove >songName.size()){
System.out.println("Invalid ");
}
else {
remove--;
System.out.println("Are you sure you would like to delete "+songArtist.get(remove)+" - "+songName.get(remove)+" (" +songYear.get(remove)+ ") from your music library?");
System.out.print("1: Yes \n2: No" + "\n");
int confirmDelete=input.nextInt();
if (confirmDelete == 1){
songArtist.remove(remove);
songName.remove(remove);
songYear.remove(remove);
System.out.println(songName.get(remove)+ " has just been removed from your music library");
// viewAll();
}
}
}
public void playRandom()
{
String RandomSong = (SongName.random);
System.out("Now playing + " RandomSong);
}
public void editItem(){
viewAll();
System.out.println("Choose the song you want to edit (1 to "+songName.size()+")");
//prints out the contents of library with first entry being index 1
//The library is numbered and goes as far as the index of the last entry
int edit=input.nextInt();
if (edit >songName.size()){
System.out.println("Invalid Selection");
//if user selects a number that corresponds to an index that's not
//In the array list, they will be shown an error.
}
else{
edit--;
System.out.println("\n" + "Enter New Track Name: ");
input.nextLine();
String editName=input.nextLine();
songName.set(edit,editName);
//Edits the songName value of the Song object selected
System.out.println("\n" + "Enter New Artist ");
String editArtist=input.nextLine();
songArtist.set(edit,editArtist);
//Edits the songArtist value of the Song object selected
System.out.println("\n" + "Enter New Year:");
int editYear;
editYear = input.nextInt();
songYear.set(edit,editYear);
//Edits the songName value of the Song object selected
System.out.print("\n" + "Your changes have been saved:" + "\n");
System.out.print("\n" + "This is your current library");
viewAll();
}
}
}
最佳答案
好吧,我认为你必须做这样的事情:
找出您的阵列有多长。例如,50 首歌曲。然后,生成一个介于 0 和 length-1 之间的随机数。
public void playRandom()
{
int randomnumber =(int)(Math.random() * (length-1));
System.out.println("Now Playing: " + arrayOfSongName[randomnumber]);
}
关于java - 创建一个每次调用时打印数组列表的不同随机条目的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054771/
情况:我想从数据条目列表导航回我的 PageViewController。 before 和 previous 函数起作用 func pageViewController(pageViewContro
尊敬的 StackOverflow 用户 我有一个 gradle 项目,我想将其工件转换为 osgi 包。在这个包中,我有: 我不想导出的包(可能不会出现在 list 的 Export-Package
我为我的 PendingIntent 设置了一个警报。现在我想在我的 Activity 中显示是否设置了此警报。 Intent service = new Intent(context, MyServ
我有 2 个表、作者和书籍 authors 包含唯一的 IDauthorId 书籍也包含此作为外键 我需要知道书籍数量最多的作者。如果 2 个或更多作者并列最多书籍,我需要显示这两位作者 我已经能够通
我有一个名为 prospective_shop 的表,其中一个列名称是“用户名”。用户名未设置为主键,但我想删除所有具有重复用户名的行。我怎样才能以最快的方式做到这一点? 我尝试执行以下操作: ALT
我现在可以添加条目了。在我的应用程序中,用户可以在他的日历上输入约会/事件。但在他这样做之前,它应该向他显示他已经添加的事件。它应该从日历中获取事件并将其显示给他。这该怎么做?我被困在这部分。提前致谢
#include #include #include #include #include #include char *msg; ssize_t write_proc(struct file
我想将大于 1024 个字符的字符串传递到我的模块(文件系统)。由于内核参数限制为 1024 个字符,someone recommended改为使用 sysfs。 我试图包括 this example
我正在尝试使用 SQLAlchemy 构建以下查询(用作包含查询的子查询,该查询定义名为 tbl_outer 的别名): SELECT max(tbl.ts) AS max_1 FROM tbl WH
假设我有两张 map : Map map1 = Map.of( "a", "1", "b", "2", "c", "3", "x
通过简化示例,假设您有以下数据集: A B C Name Group Amount Dave A 2 Mike B 3 Adam C 4
我正在尝试在我的服务器上创建一个三级域虚拟主机。我希望配置设置正确,但我得到一个 ERR_NAME_NOT_RESOLVED错误。 我已经读到我必须在某处“添加 DNS 条目”以便解析名称,但我该怎么
我需要一个可用于在逗号分隔列表中查找第 N 个条目的正则表达式。 例如,假设此列表如下所示: abc,def,4322,mail@mailinator.com,3321,alpha-beta,43 .
GWT 应用程序(在 Eclipse 中开发)的源代码管理忽略文件中的典型条目是什么? 最佳答案 我会推荐: 你leave the eclipse files (.project, .classpat
我必须创建显示表 (Tbl) 中所有字段的输出,并创建一个额外的列来按月计算每个客户的累计总和(例如,如果客户在 4 月份有两次销售,新列将具有这些销售额和两行中任何先前销售额的总和)。我能做的就这么
文档 ( http://kubernetes.io/docs/user-guide/configmap/ ) 上用于使用值的示例基于 ConfigMap,其中每个数据条目都是一对/值。例子: apiV
我有一个奇怪的错字,我一遍又一遍地犯,而不是实际工作我的打字技巧,我想编辑我的 AutoHotkey 脚本来弥补这一点。 有时,当我输入大写字母时,我会点击:按钮并输入“I:”,我希望 AHK 仅用字
使用 lgdt 初始化 GDT 并将其加载到 GDTR 后,稍后如何更新 GDT? 如果我使用 sgdt 命令获取基地址,然后更新或添加条目,然后使用 lgdt 再次重新加载,我是否正确?还有其他方法
我有两个应用程序共享同一个数据库,即 API 和 MVC5 应用程序。两者都在本地主机上运行良好,但在部署到我的 Azure 帐户时出现此错误 Configuration Error Descrip
我正在尝试修剪我拥有的一些文件。我将为您保存到目前为止我编写的野兽,并通过提供虚构代码使其保持简单。 让我们来看看这个数组: [System.String[]]$Collection = 'Invit
我是一名优秀的程序员,十分优秀!