【问题标题】:Javax.swing.JOptionPane can't print out PrintStream variableJavax.swing.JOptionPane 无法打印出 PrintStream 变量
【发布时间】:2015-04-11 20:37:20
【问题描述】:

我不知道如何在 joptionpane 中打印出一个字符串和一个变量。可能吗?如果不是那我该怎么办?

String peopleadded = JOptionPane.showInputDialog("How many people do you     want to add");
    int peopleadded1 = Integer.parseInt(peopleadded);
    String[][] People = new String[peopleadded1][2];
    System.out.println("put your name in the array");
    People[0][0] = JOptionPane.showInputDialog("Put your Name");
    System.out.println("put your password in the array");
    People[0][1] = JOptionPane.showInputDialog("Put your Password");
    PrintStream person = System.out.printf("Your array num [%s] and name is %s and your password is %s", 0, People[0][0], People[0][1]);
    JOptionPane.showMessageDialog(null, person);

【问题讨论】:

    标签: java swing joptionpane


    【解决方案1】:

    使用"Text"+varName+"moretext" 等(不用打印流,直接在选项窗格中)

    编辑: 你可以使用这个:

    int peopleCount = Integer.parseInt(JOptionPane.showInputDialog(null,"How many people do you want to add?", "Add People", JOptionPane.QUESTION_MESSAGE));
    String[][] addPeople = new String[peopleCount][2];
    for (int i=0; i<peopleCount; i++) {
        addPeople[i][0] = JOptionPane.showInputDialog(null,"Person "+(i+1)+"\'s name:","Person "+(i+1),JOptionPane.PLAIN_MESSAGE);
        addPeople[i][1] = JOptionPane.showInputDialog(null,"Person "+(i+1)+"\'s password:","Person "+(i+1),JOptionPane.PLAIN_MESSAGE);
    }
    String people="";
    for (int i=0; i<peopleCount; i++)
        people+="Person "+(i+1)+":\n     Name: "+addPeople[i][0]+"\n     Password: "+addPeople[i][1]+"\n";
    JOptionPane.showMessageDialog(null,people,"People added",JOptionPane.INFORMATION_MESSAGE);
    

    或者,如果您想在单独的对话框中显示每个人:

    int peopleCount = Integer.parseInt(JOptionPane.showInputDialog(null,"How many people do you want to add?", "Add People", JOptionPane.QUESTION_MESSAGE));
    String[][] addPeople = new String[peopleCount][2];
    for (int i=0; i<peopleCount; i++) {
        addPeople[i][0] = JOptionPane.showInputDialog(null,"Person "+(i+1)+"\'s name:","Person "+(i+1),JOptionPane.PLAIN_MESSAGE);
        addPeople[i][1] = JOptionPane.showInputDialog(null,"Person "+(i+1)+"\'s password:","Person "+(i+1),JOptionPane.PLAIN_MESSAGE);
    }
    for (int i=0; i<peopleCount; i++)
        JOptionPane.showMessageDialog(null,"Person "+(i+1)+":\n  Name: "+addPeople[i][0]+"\n  Password: "+addPeople[i][1],"Person "+(i+1),JOptionPane.INFORMATION_MESSAGE);
    

    【讨论】:

    • 对不起,我没有关注。它为 JOptionpane 打印出 printstreamblahblah。它在现场打印出来,print.io.printstream
    • JOptionPane.showMessageDialog(null,"Your array num ["+num+"] and name is "+People[num][0]+" and your password is "+People[num ][1]) 其中 num 是一个整数,表示数组中的人员编号(代码中为 0)
    • 我认为您不能在这里使用打印流,但您可以使用它来写入控制台,例如(System.out.println 或 System.out.printf)
    • 好的。我会试试的。如果它不起作用,我应该使用不同的实用程序。我知道它适用于已经制作的数组列表,但不适用于您尚未创建的数组列表。
    • 我不确定你的意思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2017-12-18
    相关资源
    最近更新 更多