哪个大神帮我看一下为什么在牛客网上会报错,本地编译器上没错

题目:

A+B(1)计算a+b打开以下链接可以查看正确的代码1https://ac.nowcoder.com/acm/contest/5657#question数据范围: 数据组数1≤�≤100

1≤t≤100 , 数据大小满足1≤�≤1000

1≤n≤1000时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M输入描述:输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。输出描述:输出a+b的结果

代码:

public static void Main()

{

string line;

List<string> numbers = new List<string>();

while ((line = System.Console.ReadLine()) != null)

{ // 注意 while 处理多个 case

numbers.Add(line);

}

foreach (var number in numbers)

{

string[] tokens = number.Split(",");

int sum = 0;

for (int i = 0; i < tokens.Length; i++)

{

sum = sum + int.Parse(tokens[i]);

}

System.Console.WriteLine(sum);

}

}

错误:程序异常退出, 请检查代码"是否有数组越界等异常"或者"是否有语法错误"Unhandled Exception:System.FormatException: Input string was not in a correct format.at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in :0at System.Number.ParseInt32 (System.ReadOnlySpan1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in :0 at System.Int32.Parse (System.String s) [0x00016] in :0 at Program.Main () [0x0004b] in :0 [ERROR] FATAL UNHANDLED EXCEPTION: System.FormatException: Input string was not in a correct format. at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in :0 at System.Number.ParseInt32 (System.ReadOnlySpan1[T] value, System.Globalization.NumberStyles styles, System.Globalizat...

全部评论
这段代码的错误主要出在它尝试将一个由逗号分隔的字符串转化为整数时。你的输入是一个由逗号分隔的字符串,例如 "1,2",而你的代码试图把这个字符串转化为一个整数,即 "12",这显然是不正确的。 为了修复这个问题,你需要将每个由逗号分隔的数字分别转化为整数,然后再进行求和。你可以使用 Split 方法来分割字符串,然后使用 Convert.ToInt32 来将每个部分转化为整数。以下是修改后的代码: csharp public static void Main()   {       string line;       List<string> numbers = new List<string>();       while ((line = System.Console.ReadLine()) != null)       {           numbers.Add(line);       }       foreach (var number in numbers)       {           string[] tokens = number.Split(',&(30872)#39;); // 注意这里应该使用逗号作为分隔符           int sum = 0;           for (int i = 0; i < tokens.Length; i++)           {               sum += Convert.ToInt32(tokens[i]); // 使用 Convert.ToInt32 代替 int.Parse           }           System.Console.WriteLine(sum);       }   } 这段代码现在应该能够正确地处理输入,并输出正确的结果。
点赞 回复 分享
发布于 2023-12-27 20:57 山西
点赞 回复 分享
发布于 2023-11-13 22:13 北京

相关推荐

07-28 16:15
门头沟学院 Java
点赞 评论 收藏
分享
小时候觉得老师是很伟大的职业&nbsp;感觉老师都是人中龙凤才能当&nbsp;后来考入大学&nbsp;发现以前的老同学也是公费师范生了&nbsp;他们什么样什么人品&nbsp;我还不清楚吗&nbsp;只能希望他们以后也会有改变&nbsp;要不纯属耽误孩子&nbsp;实习之后发现&nbsp;有的领导&nbsp;能当上领导也可能运气成分很多&nbsp;自己决策方面很差&nbsp;分配给属下的东西自己也说不明白&nbsp;&nbsp;前些年那些明星&nbsp;各种塌房&nbsp;少林寺大师都能有情人和孩子&nbsp;越长大越发现世界就是个草台班子&nbsp;以前对不懂的东西有一层羡慕的滤镜&nbsp;接触之后发现就不是那回事了
RazerYang:其实也是幸存者偏差,你只关注草台班子的部分,所以觉得世界都是草台班子。实际上你每天能安全地从床上醒来,有稳定的天然气、自来水和电力供应,能让你吃上热乎的饭菜,能收到持续稳定的信号去刷手机,花几块钱就能坐地铁从城市的一端快速移动到另一端,花几百块就能在一天之内安全穿越整个国家,这都不是一个草台班子能实现的。燃气、水利、电力、通信、公交、民航,还有最重要的公安和国防,这些都不是草台班子能做的,有无数普通人构筑了你生活的方方面面,而你也将加入他们。
我对___祛魅了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务