帮帮忙给看看这个程序

寻找Python之禅 2009-06-03 06:05:49

use System;
namespace my
{
class test
{
static void Main()
{
int i = 0;
int n;
Console.WriteLine("请输入N值:");
n = Console.Read();
while (i < n)
{
Console.WriteLine("{0}的平方是{1}", i, i * i);
i++;
}
Console.ReadKey();
}
}
}


程序目的是:要根据输入的N值来确定要输出的行数。比如说我输入值为10,结果应该输出0-9这十个数的平方,但是在运行以后却出现0-48的平方,而且当换成别的数时,此数每增加十,结果中才增加一个。比如在换成20时,输出的是0-49,为30时,输出的是0-50,以此类推。不知道问题出现在哪里!
请求各位高手给以指教!
...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
修改一下昵称 2009-06-03
  • 打赏
  • 举报
回复
你这段代码用Console.Read()即使转换了也不是你输入的那个数字。

要使用Console.ReadLine()然后在转换

Console.Read() : msdn上的解释是这样的:

在键入输入字符时,Read 方法会阻止其返回;该方法在您按 Enter 键时终止。按 Enter 会在输入内容后面追加一个与平台有关的行终止序列(例如,Windows 追加一个回车符和换行符序列)。
寻找Python之禅 2009-06-03
  • 打赏
  • 举报
回复
果然好使,谢谢啊!本人刚刚学习C#,对于类型转化的一些东西还很迷糊,还请给解释一下呀......
lixiankun001 2009-06-03
  • 打赏
  • 举报
回复
Convert.ToInt32(Console.ReadLine());
这个转换就行了
修改一下昵称 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Profiteerchen 的回复:]

n = Convert.ToInt32(Console.Read());
[/Quote]

Convert.ToInt32(Console.ReadLine());
Profiteerchen 2009-06-03
  • 打赏
  • 举报
回复
Convert.ToInt32(Console.ReadLine())
Profiteerchen 2009-06-03
  • 打赏
  • 举报
回复

n = Convert.ToInt32(Console.Read());
修改一下昵称 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 sqlserver29 的帖子:]
C# code
use System;
namespace my
{
class test
{
static void Main()
{
int i = 0;
int n;
Console.WriteLine("请输入N值:");
n = Console.Read();
while (i < n)
{
Console.WriteLine("{0}的平方是{1}", i, i * i);
i++;
}
Console.ReadKey(…
[/Quote]

你把这句n = Console.Read();
换成这句n = Convert.ToInt32(Console.ReadLine());
修改一下昵称 2009-06-03
  • 打赏
  • 举报
回复
我试一下

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧