java - 如何使用 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]);
}
}
}
}
解决方案
我已经更改了您的程序,如下所示。现在它可以工作了。要点是:
您有嵌套for
循环,但您应该使用 2 个单独的for
循环。
您不需要第一个循环else
中的块。for
第二个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);
}
}
推荐阅读
- javascript - 累积 GPA 计算器
- javascript - Mongo ObjectID 不相等
- apache-spark - 纱线容器故障引发的火花
- python - 使用 .py 文件作为命令行参数调用 python 解释器不起作用
- java - 计算阶乘数中的零,请检查错误
- unit-testing - 使用 Mockito 时出现 WrongTypeOfReturnValue 异常
- node.js - 没有收到信使的任何回复
- azure - 当我尝试向客户端发送数据时,SignalR 上下文为空
- ionic-framework - Ionic 2 原生 Http 插件不返回响应
- jquery - 使用 Jquery 下一个按钮调出下一个俱乐部