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

C#复刻Wordle:如何将用户输入单词的字符存入二维char数组?

问题解决:正确将Wordle猜测单词存入二维char数组

你的代码核心问题是内层循环每次调用Console.ReadLine(),这会导致要么被迫逐个输入字符,要么输入完整单词时仅取第一个字符存入数组,后续循环还会重复等待输入,完全不符合Wordle输入完整5字母单词的逻辑。

修正思路

  1. 外层循环控制猜测次数(共6次),每次循环读取用户输入的完整单词
  2. 增加输入验证,确保输入恰好是5个字符(避免数组越界,符合Wordle规则)
  3. 将单词的每个字符依次存入二维数组的当前行对应列

修正后的代码

// 存储6次猜测的单词,每次5个字符
char[,] userWords = new char[6, 5];

for (int i = 0; i < userWords.GetLength(0); i++)
{
    Console.Write($"\n第{i+1}/6次猜测:");
    string inputWord = string.Empty;
    
    // 验证输入格式:必须是5个字符的单词
    while (true)
    {
        inputWord = Console.ReadLine().Trim().ToUpper(); // 统一转大写,方便后续答案对比
        if (inputWord.Length == 5)
            break;
        Console.Write("请输入恰好5个字符的单词:");
    }
    
    // 将单词的每个字符存入数组当前行
    for (int j = 0; j < userWords.GetLength(1); j++)
    {
        userWords[i, j] = inputWord[j];
        // 测试输出:打印当前行的字符
        Console.Write(userWords[i, j] + " ");
    }
    Console.WriteLine();
}

关键改动说明

  • 将Console.ReadLine()移到外层循环,每次读取完整的5字母单词,而非单个字符
  • 增加输入验证逻辑,避免用户输入长度不符的内容导致数组越界
  • 统一将输入转成大写,匹配Wordle不区分大小写的规则,也方便后续与目标单词对比
  • 通过inputWord[j]直接提取单词的第j个字符,存入数组的userWords[i,j]位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:31:07