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

Java二维数组与方法代码无输出问题排查求助

问题分析:Java查找电话号码程序无正确输出的原因

核心问题:输入解析逻辑完全错误

你的输入格式是姓名,电话号码(比如Joe,123-5432),但代码里用Scanner.next()读取内容——这个方法默认按**空白字符(空格、换行)**分割输入,导致实际存储的数据完全不符合预期:

  • 第一次循环时,list[0][0]会被赋值为Joe,123-5432(而不是Joe),list[0][1]被赋值为Linda,983-4123(而不是123-5432)
  • 第二次循环时,list[1][0]是Frank,867-5309,list[1][1]是Frank
  • 第三次循环时,程序会因为没有足够的输入而阻塞,根本执行不到后续的查找和打印步骤,这就是你看到“无输出”的原因。

修复方案

调整输入读取逻辑,正确处理逗号分隔的格式:

import java.util.Scanner;

public class LabProgram {

    public static String getPhoneNumber(String[][] list, String name) {
        for (int i = 0; i < list.length; i++) {
            if (list[i][0].equals(name)) {
                return list[i][1];
            }
        }
        return "-1"; // 姓名未找到时返回-1
    }

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

        int numPairs = scnr.nextInt();
        scnr.nextLine(); // 跳过nextInt()遗留的换行符,避免读取空行

        String[][] list = new String[numPairs][2];

        for (int i = 0; i < numPairs; i++) {
            String line = scnr.nextLine().trim(); // 读取整行输入
            String[] parts = line.split(","); // 按逗号分割姓名和电话
            list[i][0] = parts[0].trim(); // 提取并清除姓名的多余空格
            list[i][1] = parts[1].trim(); // 提取并清除电话的多余空格
        }

        String name = scnr.nextLine().trim(); // 读取要查找的姓名

        String phoneNumber = getPhoneNumber(list, name);
        System.out.println(name + ": " + phoneNumber);
    }
}

测试输入示例

按以下格式输入(每组占一行):

3
Joe,123-5432
Linda,983-4123
Frank,867-5309
Frank

程序会正确输出:Frank: 867-5309

兼容原始一行输入的处理

如果坚持使用你最初的一行输入格式(3 Joe,123-5432 Linda,983-4123 Frank,867-5309 Frank),可以修改main方法的输入部分为:

int numPairs = scnr.nextInt();
scnr.nextLine(); // 跳过换行符
String allInput = scnr.nextLine();
String[] tokens = allInput.split(" ");

for (int i = 0; i < numPairs; i++) {
    String[] parts = tokens[i].split(",");
    list[i][0] = parts[0].trim();
    list[i][1] = parts[1].trim();
}
String name = tokens[numPairs].trim();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:06:17