编写一程序,接受一数字,并打印该数字的乘法表。使用异常确保仅输入数值并且所输入的数字大于0。我的程序如下:
using System;public class InvalidInput:ApplicationException
{
public InvalidInput():base("InvalidInput Exception")
{
}
public InvalidInput(string message):base(message)
{
}
}public class ExceptionDemo
{
public static void Main()
{
int userInput;
Console.WriteLine("请输入一个数字:");
try
{
userInput=Convert.ToInt32(Console.ReadLine());
if(userInput<=0)
{
throw new InvalidInput("必须输入一个正数!");
}
}
catch(FormatException e)
{
Console.WriteLine(e);
}
catch(InvalidInput e)
{
Console.WriteLine(e);
}
Console.WriteLine(userInput);
for(int i=userInput;i>=1;i--)
{
for(int j=userInput;j>=i;j--)
{
Console.Write(" "+j+"*"+i+"="+j*i);
}
Console.WriteLine();
}
}
}
编译后显示:Ph5Ex1.cs(37,21): error CS0165: 使用了未赋值的局部变量“userInput”我把userInput赋初值后程序通过 int userInput=0;
这里非要为userInput赋初值吗?
谢谢各位高手们了!
using System;public class InvalidInput:ApplicationException
{
public InvalidInput():base("InvalidInput Exception")
{
}
public InvalidInput(string message):base(message)
{
}
}public class ExceptionDemo
{
public static void Main()
{
int userInput;
Console.WriteLine("请输入一个数字:");
try
{
userInput=Convert.ToInt32(Console.ReadLine());
if(userInput<=0)
{
throw new InvalidInput("必须输入一个正数!");
}
}
catch(FormatException e)
{
Console.WriteLine(e);
}
catch(InvalidInput e)
{
Console.WriteLine(e);
}
Console.WriteLine(userInput);
for(int i=userInput;i>=1;i--)
{
for(int j=userInput;j>=i;j--)
{
Console.Write(" "+j+"*"+i+"="+j*i);
}
Console.WriteLine();
}
}
}
编译后显示:Ph5Ex1.cs(37,21): error CS0165: 使用了未赋值的局部变量“userInput”我把userInput赋初值后程序通过 int userInput=0;
这里非要为userInput赋初值吗?
谢谢各位高手们了!
private int userInput;
看来你还得仔细看看MSDN的说明啊~~
如果不想赋初值的话,就应该把变量放在main方法外面
class Test
{
static void Main()
{
int divident=50;
int userInput;
int quotient=0;
Console.WriteLine("输入一个数字:"); try
{
userInput=Convert.ToInt32(Console.ReadLine());
quotient=divident/userInput;
}
catch(FormatException e)
{
Console.WriteLine(e);
}
catch(DivideByZeroException e)
{
Console.WriteLine(e);
}
Console.WriteLine("商为{0}",quotient);
}
}为什么这时又不用初始化,小弟初学不太懂,bombkey也不用这样打击吧。