如果用户在单独的行中输入数字,此代码可以正常工作 即 10 12 结果是:22
但是,当我尝试输入时会出现错误。 10 12
现在,我知道console.readline()
读取整行,显然空间不是int
,所以我得到了错误。但是,当我以前在C中编码时,有scanf
函数,通过简单地指定用户期望的数据类型,可以针对这两种情况运行。另外,我认为JAVA scanner.nextInt()
不会允许这样的麻烦。有没有简单的方法让c#以相同的方式读取由空格或行分隔的数据?这是我从未在编码比赛中使用过c#的唯一原因。我根本不懂如何解决这个问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int result=0,a, b;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
result = a + b;
Console.WriteLine("The result is {0}", result);
Console.ReadKey();
}
}
}
答案 0 :(得分:0)
这是一个使用Regex
string input = "There are 4 numbers in this string: 40, 30, and 10.";
// Split on one or more non-digit characters.
string[] numbers = Regex.Split(input, @"\D+");
foreach (string value in numbers)
{
if (!string.IsNullOrEmpty(value))
{
int i = int.Parse(value);
Console.WriteLine("Number: {0}", i);
}
}
Console.ReadKey();