You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何使用JOptionPane弹窗输出数组中存储的最长姓名

代码问题排查

你现有代码无法正常弹出结果的原因有3个:

  1. 字符串比较逻辑错误:Java中判断字符串内容相等不能用==(该符号仅比较对象内存地址),且你定义的name1是空字符串,对应的判断条件永远无法正常触发
  2. 缺少JOptionPane类的导入语句,代码无法直接编译
  3. 冗余逻辑过多:额外定义的空name1变量、无意义的条件判断完全多余,遍历得到最长姓名后可以直接调用弹窗方法输出
修正后完整代码
import java.util.Scanner;
import javax.swing.JOptionPane;

public class LongestNameQuery {
    public static void main(String[] args) {
        Scanner wczytanie = new Scanner(System.in);

        System.out.println("ENTER THE AMOUNT OF NAMES");
        int size = wczytanie.nextInt();
        // 消费nextInt读取数字后残留的换行符,避免后续读入空行
        wczytanie.nextLine();

        String[] nameArray = new String[size];
        // 初始化最长姓名变量为空串
        String longestName = "";

        System.out.println("ENTER THE NAMES");
        for (int i = 0; i < nameArray.length; i++) {
            nameArray[i] = wczytanie.nextLine();
            if (longestName.length() < nameArray[i].length()) {
                longestName = nameArray[i];
            }
        }

        // 控制台输出结果
        System.out.println("LONGEST NAME: " + longestName);
        // 弹窗输出最长姓名结果
        JOptionPane.showMessageDialog(null, "THE LONGEST NAME IS " + longestName);

        wczytanie.close();
    }
}
运行说明
  • 运行后先在控制台输入待录入的姓名总数量,按回车确认
  • 按提示依次输入对应数量的姓名,每输入一个按一次回车
  • 所有姓名输入完成后,控制台会打印最长姓名,同时自动弹出JOptionPane对话框展示结果
  • 如果存在多个长度相同的最长姓名,程序默认返回第一个录入的最长姓名,需要返回全部最长姓名的话可以额外加列表存储逻辑

内容的提问来源于stack exchange,提问作者FlyingRacoon51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:09:42