如何使用Split()方法拆分带+的输入数字并存入不同变量?
如何将控制台输入的加法表达式中的两个数字存入独立int变量?
嘿,你已经找对方向啦!你用Split('+')拆分输入字符串的思路完全正确,现在只需要从拆分后的数组里提取元素,处理掉可能存在的空格,再转换成int类型,就能把两个数字存入独立变量了。
我给你调整一下代码,直接实现你要的效果:
Console.Write("Input numbers separated by + : "); string input = Console.ReadLine(); // 拆分字符串,同时移除空条目(避免用户输入多余的+导致的空元素) string[] numberStrings = input.Split(new[] {'+'}, StringSplitOptions.RemoveEmptyEntries); // 处理每个字符串的前后空格(兼容用户输入带空格的情况,比如"12 + 15") string firstNumStr = numberStrings[0].Trim(); string secondNumStr = numberStrings[1].Trim(); // 转换为int变量(你提到不用顾虑转数字的操作,这里直接用Parse) int num1 = int.Parse(firstNumStr); int num2 = int.Parse(secondNumStr); // 可以验证一下变量是否正确 Console.WriteLine($"第一个数字:{num1}"); Console.WriteLine($"第二个数字:{num2}");
如果想让代码更健壮,避免用户输入不合法的内容(比如不是数字、输入了超过两个数),可以用int.TryParse做安全转换,给你加个进阶版本:
Console.Write("Input numbers separated by + : "); string input = Console.ReadLine(); string[] numberStrings = input.Split(new[] {'+'}, StringSplitOptions.RemoveEmptyEntries); // 先判断是否刚好拆分出两个元素 if (numberStrings.Length == 2) { string firstNumStr = numberStrings[0].Trim(); string secondNumStr = numberStrings[1].Trim(); // 安全转换数字,避免解析失败报错 if (int.TryParse(firstNumStr, out int num1) && int.TryParse(secondNumStr, out int num2)) { Console.WriteLine($"成功解析:num1 = {num1}, num2 = {num2}"); } else { Console.WriteLine("输入的不是有效的整数哦!"); } } else { Console.WriteLine("请输入正确的格式,比如 12+15 或者 12 + 15"); }
这样不管用户输入带不带空格,都能正确提取两个数字到独立的int变量里啦~
内容的提问来源于stack exchange,提问作者wilfy
相关产品推荐
相关产品推荐

