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

C# 每次向List<int>添加新数后按奇偶规则运算输出列表的实现问题

需求说明
  • 输入:每次输入一个整数
  • 输出:已输入的整数列表中所有偶数除以2、所有奇数乘以3后得到的新列表

运行流程参考:

  1. 首次输入4,输出结果为[2]
  2. 第二次输入8,输出结果为[2,4]
  3. 第三次输入9,输出结果为[2,4,27]
    注:如果你给出的示例需要后输入的数排在结果前面,可按代码内注释调整实现。
原代码问题分析
  • 索引越界:C#中List<T>的下标从0开始计数,原代码循环变量i从1开始,且判断条件为i <= nummerListe.Count,运行时会访问到不存在的索引位置触发崩溃
  • 处理逻辑错误:循环内仅判断本次新输入的整数值,没有遍历处理列表中存储的所有历史输入数据
  • 输出逻辑错误:直接修改原列表的第一个元素,输出时频繁换行、多余逗号,无法生成要求的列表格式
调整后代码
List<int> nummerListe = new List<int>();

while (true)
{
    Console.WriteLine("Geben Sie die Zahlen ein : ");
    string eingabe = Console.ReadLine();
    // 增加输入校验,避免非整数输入导致程序崩溃
    if (!int.TryParse(eingabe, out int nummer))
    {
        Console.WriteLine("输入不合法,请输入有效整数");
        continue;
    }

    nummerListe.Add(nummer);
    
    // 生成处理后的结果列表
    List<int> result = new List<int>();
    foreach (int num in nummerListe)
    {
        result.Add(num % 2 == 0 ? num / 2 : num * 3);
    }

    // 若需要和示例输出顺序一致(后输入的数在前),取消注释下一行即可
    // result.Reverse();
    
    // 按要求格式输出
    Console.WriteLine($"Die Zahlen sind : [{string.Join(",", result)}]");
    Console.WriteLine();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:45:03