我必须批改所有 IT 类作业,其中一项作业让我很吃力。
给你一个简短的分割;我基本上必须使用 JOptionPane.showInputDialog 才能获取用户最喜欢的 4 位音乐艺术家的输入。此外,我必须将这些输入保存在名为 singers[]
的数组中;我必须利用 for 循环使用 JOptionPane.showInputDialog
询问 4 位艺术家的姓名,然后将该输入保存在上述数组中,并输出 4 位艺术家,但是如果其中一位艺术家姓名是“heino”,则程序必须通过 System.exit(0)
立即关闭。
我记下了大部分内容,但是我很难获取 4 位艺术家姓名的输入和输出。
import javax.swing.*;
public class Main {
public static void main(String[] args) {
String[] singer = new String[4];
for (int i = 0; i < singer.length; i++) {
singer[i] = JOptionPane.showInputDialog("How is your favourite artist called? :");
if(singer[i].equals("Heino")){
System.exit(0);
}
else{
singer[i] = JOptionPane.showInputDialog("Do you have any other favourite artists? : ");
}
for (String bestesinger : singer){
JOptionPane.showMessageDialog(null, "The name of your favourite artists are: " + singer[0] + singer[1] + singer[2] + singer[3]);
}
}
}
}
最佳答案
我已经更改了您的程序,如下所示。现在它起作用了。要点是:
您有嵌套的 for
循环,但您应该使用 2 个单独的 for
循环。
您不需要在第一个 for
循环中使用 else
block 。
第二个 showMessageDialog()
调用移至第二个 for
循环之外。在第二个 for
循环中,歌手姓名被收集到 output
变量中。
import javax.swing.*;
public class Singers {
public static void main(String[] args) {
String[] singer = new String[4];
for (int i = 0; i < singer.length; i++) {
singer[i] = JOptionPane.showInputDialog("How is your favourite artist called? :");
if (singer[i].equals("Heino")) {
System.exit(0);
}
}
String output = "";
for (String bestesinger : singer){
output = output + bestesinger + " ";
}
JOptionPane.showMessageDialog(null, "The name of your favourite artists are: " + output);
}
}
关于java - 如何使用 JOptionPane 和数组创建用户多个输入的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54389989/