我目前正在使用12位字母ISBN号码的校验位计算器,如果用户输入的长度超过12个字符,我正试图让它退出。
Console.WriteLine("ISBN-Prüfziffer berechnen");
Console.WriteLine("=========================");
Console.WriteLine();
Console.Write("ISBN-Nummer ohne Prüfziffer: ");
string ISBNstring = Console.ReadLine();
ISBNstring = ISBNstring.Replace("-", "");
ISBNstring = ISBNstring.Replace(" ", "");
if (ISBNstring.Length > 12)
{
Console.WriteLine("Fehlerhafte Eingabe");
Console.Read();
Environment.Exit();
}
int Summe = 0;
for (int i = 0; i < 12; i++)
{
int digit = ISBNstring[i] - '0';
if (i % 2 == 1)
{
digit *= 3;
}
Summe += digit;
}
int PrüfZif = 10 - (Summe % 10);
Console.Write("Prüfziffer: ");
Console.Write(PrüfZif);
Console.ReadLine();
现在的方式,应用程序发出错误消息“Fehlerhafte Eingabe”,当a,比方说13位数字输入时。但是它仍然会在之后给出结果。
我希望它在显示错误消息后立即停在那里,这就是我尝试使用Environment.Exit的原因。
不确定为什么它不起作用。先谢谢你们!
答案 0 :(得分:3)
从评论中复制,只是为了表示问题已解决:
而不是
Environment.Exit();
,请使用return;
。基本上它会停止执行你当前的方法。