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

Java实现指定数量字符串输入后统一输出问候语的代码修正问题

问题原因

现有代码在读取字符串的循环中直接嵌入了打印逻辑,每读取一个字符串就立刻输出问候,没有先暂存所有输入,因此无法实现全部输入完成后统一输出的效果。另外原代码缺失必要的类导入语句,直接运行会报编译错误。

修改方法
  • 初始化一个字符串集合,用于暂存所有读取到的姓名输入
  • 第一个循环仅负责读取输入、将输入内容存入集合,不执行任何输出操作
  • 待全部指定数量的字符串读取完毕后,再遍历集合,按要求格式逐行输出问候内容
  • 补全缺失的类导入语句,避免编译报错
修正后的完整代码
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class HelloStrangers {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int number = Integer.parseInt(scanner.nextLine());
        if (number < 0) {
            System.out.println("Seriously? Why so negative?");
        } else if (number == 0) {
            System.out.println("Oh, it looks like there is no one here");
        } else {
            ArrayList<String> names = new ArrayList<>();
            // 第一轮循环:只读取、暂存输入,不输出
            for (int i = 0; i < number; i++) {
                names.add(scanner.nextLine());
            }
            // 全部输入完成后,第二轮循环统一输出
            for (String name : names) {
                System.out.println("Hello, " + name);
            }
        }
        scanner.close();
    }
}

运行该代码后,会先接收代表人数的整数,再依次接收对应数量的姓名输入,所有输入完成后才会批量输出问候内容,完全匹配给出的输入输出样例要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:48:17