用try-catch抛出就好
按你的界面猜猜你的代码 估计应该调整成下面这样,还望满意
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
Console.WriteLine("hello");
Console.WriteLine("请输入你的姓名");
string name = Console.ReadLine();
Console.WriteLine("您好,"+name+" ,欢迎使用program平台\r\n请选择你的职业");
Console.WriteLine("1.法师\r\n2.战士");
while (true)
{
try
{
char c = Console.ReadKey().KeyChar;
if (c == '1')
{
Console.WriteLine("\r\n" + name + "选择的职业为法师");
break;
}
else if (c == '2')
{
Console.WriteLine("\r\n" + name + "选择的职业为战士");
break;
}
else Console.WriteLine("\r\n请正确输入选择职业!\r\n1.法师\r\n2.战士");
}
catch { Console.WriteLine("\r\n请正确输入选择职业!\r\n1.法师\r\n2.战士"); }
}
Console.WriteLine("职业选择完成!");
Console.ReadKey();
}
}
//作个输入判断就行了:
刚注意到你用的是C#,开始以为你用的是Delphi呢,在Delphi团队看到的题。
我改成C吧。呵呵。
int z=0;
while (z!=1) and (z!=2)
{
scanf("%i",&z);
if (z!=1) or (z!=2)
printf("必须输入1或2");
}
以下是Delphi的:
Var
z :Integer;
begin
z:=0;
while (z<>1) and (z<>2) do //直到输入了1或2
begin
Readln(z);
if (z<>1) or (z<>2) then
writeln('必须输入1或2!');
end;
end;
switch (输入的值){
case 1:
XXXXX
break;
case 2:
XXXX
break;
default:
break;
}
XXXX 是你想写的东西
建议使用switch case语句
对于非1和2的可以写在default里面