2016-08-03 7 views
-1

Ich habe eine einfache Konsolenanwendung und ich möchte, dass nur Ziffern eingegeben werden können. Hier ist der CodeWie gebe ich nur Zahlen in der Konsolenanwendung ein C#

namespace ConsoleApplication3 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
     int n, sum; 
     sum = 5000; 
     Console.WriteLine("enter number of conversations"); 
     n = int.Parse(Console.ReadLine()); 
     if (n <= 100) 
     { 
      sum = sum + n * 5; 
     } 
     else 
     { 
      sum += (100 * 5) + (n - 100) * 7; 
     } 
     Console.WriteLine(sum); 
     Console.ReadKey(); 
     } 
    } 
} 
+1

Also, was ist das Problem? – Idos

Antwort

2

Dies sollte den Trick tun.

Console.Write("enter number of conversations "); 
int n; 

while(!int.TryParse(Console.ReadLine(), out n) 
{ 
    Console.Clear(); 
    Console.WriteLine("You entered an invalid number"); 
    Console.Write("enter number of conversations "); 
} 

if(n <= 100) 
    //continue here 
2

Bet Option für Sie in diesem Fall ist int.TryParse stattdessen für int.Parse() die ungültige Eingaben bestimmen hilft. Sie können die folgende Logik implementieren, damit sie funktioniert.

Console.WriteLine("enter number of conversations"); 
if(int.TryParse(Console.ReadLine(), out n) 
{ 
    if (n <= 100) 
    { 
     sum = sum + n * 5; 
    } 
    else 
    { 
     sum += (100 * 5) + (n - 100) * 7; 
    } 
    Console.WriteLine(sum); 
} 
else 
{ 
    Console.WriteLine("Invalid input , Enter only number"); 
} 
1

Sie sollten die "TryParse" Methode anstelle von "Parse" verwenden und eine "do {...} while" Schleife, damit Sie nicht hässlich Code zu wiederholen.

Hinweis Ich habe eine String-Variable hinzugefügt, um die Benutzereingabe zu verarbeiten. Dieser Code fragt die Anzahl der Konvertierungen immer wieder ab, bis eine gültige Nummer eingegeben wird. Dann wird der Rest des Codes ausgeführt.

class Program 
{ 
    static void Main(string[] args) 
    { 
     int n, sum; 
     string input; 
     sum = 5000; 

     do 
     { 
      Console.WriteLine("enter number of conversations"); 
      input = Console.ReadLine(); 
     } while (int.TryParse(input, out n) == false); 

     if (n <= 100) 
     { 
      sum = sum + n * 5; 
     } 
     else 
     { 
      sum += (100 * 5) + (n - 100) * 7; 
     } 
     Console.WriteLine(sum); 
     Console.ReadKey(); 
    } 
} 
Verwandte Themen