简体   繁体   English

想通过 JoptionPane 将我存储的名称打印在数组中,JAVA

[英]Want to print my stored names in array by JoptionPane, JAVA

public static void main(String[] args) {

i got to enter the amount of names i want, then input them by scanner in console, and after print the longest one, it's mostly done, but i want to print it by JoptionPane aswell我必须输入我想要的名字数量,然后在控制台中通过扫描仪输入它们,在打印最长的一个之后,它大部分完成了,但我也想通过 JoptionPane 打印它

    Scanner wczytanie = new Scanner(System.in);

    System.out.println("ENTER THE AMOUNT OF NAMES");
    int size = wczytanie.nextInt();

    String[] array = new String[size];

    System.out.println("ENTER THE NAMES");
    String name = wczytanie.nextLine();

    for (int i = 0; i < array.length; i++) {
        array[i] = wczytanie.nextLine();
        if (name.length() < array[i].length()) {
            name = array[i];
        }
    }
 //   System.out.println("LONGEST NAME: " + name);

    String name1 = new String();
    if(name == name1) {
        JOptionPane.showMessageDialog(null, " THE LONGEST NAME IS " + name1);
    }

}

You have a lot of problems here: you're reading from the scanner before the loop when reading names and you're doing a raw object equality on a new string for some reason that will never work.你在这里有很多问题:你在读取名称时在循环之前从扫描器读取,并且出于某种永远无法工作的原因你正在对新字符串执行原始 object 相等。 You want something more like this:你想要更像这样的东西:

public static void main(String[] args) {
    try (Scanner scanner = new Scanner(System.in)) {
        System.out.println("How many names? ");
        int num = scanner.nextInt();
        List<String> names = new ArrayList<>(num);
        System.out.println("Enter names: ");
        for (int i = 0; i < num; i++) {
            names.add(scanner.next());
        }

        String longest = names.stream().reduce((a, b) -> a.length() > b.length() ? a : b).get();
        System.out.println("The longest name is: " + longest);
        JOptionPane.showMessageDialog(null, "The longest name is: " + longest);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM