Я пытаюсь напечатать имя песни и длину песен каждый раз, когда цикл завершается. Как мне это сделать? Report+= songTitles[numSongs] + songLengths[numSongs]
?Печать списка значений из массива
Затем мне нужно выполнить линейный поиск, чтобы удалить песни из плейлиста. Нужно ли использовать ту же строку отчета, чтобы пользователь мог видеть все песни? Мне просто нужна помощь. Спасибо.
import javax.swing.JOptionPane;
public class asdf_Playlist {
public static void main(String[] args) {
final int MAX_SONGS = 106;
int totalDuration = 0;
int numSongs = 0;
boolean exitVar = false;
int i = 0;
String[] songTitles = new String[MAX_SONGS];
int[] songLengths = new int[MAX_SONGS];
while (exitVar == false && numSongs <= songTitles.length) {
do {
songTitles[numSongs] = JOptionPane.showInputDialog(null,"Enter a song name, or type -1 to exit");
if (songTitles[numSongs].equals("")) {
JOptionPane.showMessageDialog(null,"Error: Please enter a valid song name, or type -1 to exit");
} else if (songTitles[numSongs].equals("-1")) {
exitVar = true;
}
} while (songTitles[numSongs].equals(""));
do {
try {
songLengths[numSongs] = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter a song length, e.g. 4."));
if (songLengths[numSongs] > 0) {
totalDuration += songLengths[numSongs];
} else {
songLengths[numSongs] = -1;
JOptionPane.showMessageDialog(null,"Error: please enter a valid song length, e.g. 4.");
}
} catch (NumberFormatException e) {
songLengths[numSongs] = -1;
JOptionPane.showMessageDialog(null, "Error: please enter a valid song length, e.g. 4.");
}
} while (songLengths[numSongs] <= 0);
boolean addMore = true;
while ((numSongs <= MAX_SONGS) && (addMore == true)) {
JOptionPane.showMessageDialog(null, "Song #" + (i+1) + ": " + songTitles[i] + " length: " + songLengths[i] + "\n");
i++;
if (songTitles[i] == null) {
addMore = false;
}
}
numSongs++;
}
}
}
Неясно, что вы просите. Вы имеете в виду печать на консоль или файл? Вы хотите распечатать все песни для каждой итерации цикла? О чем говорит «Отчет» в вашем вопросе? – sprinter
Извините, я просто хотел напечатать названия и длины песен каждый раз, когда цикл перезапускается, чтобы пользователь мог видеть каждую песню, которую они ввели. Это все, что я хочу сделать. – Hello
Мне также нужно было использовать линейный поиск, чтобы удалить песни, и я думаю, что я мог бы использовать строку с заголовком отчета (что-то вроде «Название песни:, длина песни:»), чтобы показать все песни, поэтому пользователь может ввести имя песни, чтобы удалить ее из списка. Я просто понял, что могу использовать строку, которая объединяет и берет предыдущую введенную информацию, поэтому пользователь может видеть каждую введенную песню, а не только предыдущую. – Hello