猿问

如何使用 JOptionPane 和数组列出用户的多个输入?

我必须改正我所有的 IT 级作业,但其中一项我很吃力。给你一个简短的细分;我基本上必须使用JOptionPane.showInputDialog才能获得他们最喜欢的 4 位音乐艺术家的用户输入。singers[]此外,我必须将这些输入保存在一个名为;的数组中。我必须使用 for 循环询问使用 4 位艺术家的姓名JOptionPane.showInputDialog,然后将该输入保存在上述数组中,并输出 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]);

        }   

        }

    }


}


慕斯709654
浏览 144回答 1
1回答

精慕HU

我已经更改了您的程序,如下所示。现在它可以工作了。要点是:您有嵌套for循环,但您应该使用 2 个单独的for循环。您不需要第一个循环else中的块。for第二个showMessageDialog()调用被移到第二个for循环之外。在第二个for循环中,歌手姓名被收集到output变量中。import javax.swing.*;public class Singers {&nbsp; public static void main(String[] args) {&nbsp; &nbsp; String[] singer = new String[4];&nbsp; &nbsp; for (int i = 0; i < singer.length; i++) {&nbsp; &nbsp; &nbsp; singer[i] = JOptionPane.showInputDialog("How is your favourite artist called? :");&nbsp; &nbsp; &nbsp; if (singer[i].equals("Heino")) {&nbsp; &nbsp; &nbsp; &nbsp; System.exit(0);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; String output = "";&nbsp; &nbsp; for (String bestesinger : singer){&nbsp; &nbsp; &nbsp; output = output + bestesinger + " ";&nbsp; &nbsp; }&nbsp; &nbsp; JOptionPane.showMessageDialog(null, "The name of your favourite artists are: " + output);&nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答