3 回答
TA贡献1818条经验 获得超8个赞
static void Main(string[] args)
{
int Nummer;
bool herhaal = true;
do
{
Console.Write("Geef een getal : ");
//only read from the Console ONCE per loop iteration, and always read to a string first
string input = Console.ReadLine();
//TryParse better than Convert for converting strings to integers
if (!int.TryParse(input, out Nummer))
{
Console.WriteLine("0");
}
else //only do the second part if the conversion worked
{
double kw = Math.Pow(Nummer, 2);
Console.WriteLine("Kwadraat van {0} is: {1}\n", Nummer, kw);
}
} while (herhaal);
}
要从 WinForms 应用程序执行此操作,如评论中所尝试:
private void button1_Click(object sender, EventArgs e)
{
double aantalgroep;
if (!double.TryParse(textBox1.Text, out aantalgroep))
{
textBox1.Text = "0";
}
else
{
double kw = Math.Pow(aantalgroep, 2);
textBox1.Text = String.Format("Kwadraat van {0} is: {1}", aantalgroep, kw);
}
}
TA贡献1780条经验 获得超5个赞
根据 C# 文档,Console.ReadLine
执行以下操作
从标准输入流中读取下一行字符。
这意味着每次调用时Console.ReadLine
,都会从控制台读取一个新行。从我在你的代码中看到的,这不是你想要的行为。要解决您的问题,您应该将 的结果存储Console.ReadLine
在一个变量中并使用该变量而不是 ReadLine 方法。
- 3 回答
- 0 关注
- 182 浏览
添加回答
举报