2017-10-11 1 views
2

Ich habe diesen Code, wo ich einen Namen eingeben, und dann eine ganze Zahl. Die Anwendung wiederholt dann den eingegebenen Namen entsprechend der angegebenen Ganzzahl. Das Problem, das ich habe, ist, ich möchte nur den Benutzer in der Lage sein, den Namen maximal 10 Mal und und min von 1 zu wiederholen. Hier ist, was ich bis jetzt habe.Wie erzwinge die Konsole, nur eine Nummer innerhalb eines bestimmten Bereichs zu akzeptieren?

EDIT: Wenn jemand einen einfacheren Weg sieht zu tun, was ich habe, würde ich mich über Anregungen freuen!

+0

Könnten Sie bitte jeden Code hinzufügen, den Sie bisher versucht haben, um die gewünschte Einschränkung zu erzwingen? – mrtig

Antwort

1

Sie müssen filtern und zu validieren, wenn die Eingangsnummer mindestens 1 ist, und maximal 10 , bevor Sie die Namen ausdrucken. Sie können dies tun:

Console.Write("PLEASE ENTER YOUR FIRST AND LAST NAME: "); 
     string Name = Console.ReadLine(); 

     Console.Write("Enter the number of times you wish for me to repeat your name, " + Name); 

     int number = 0; 

     do 
     { 
      Int32.TryParse(Console.ReadLine(), out number); 
      if (number > 10 || number < 1) 
       Console.WriteLine("Please input numbers between 1 to 10"); 

     } while (number > 10 || number < 1); 

      for (int i = 0; i < number; i++) 
       Console.WriteLine("" + Name); 
     Console.ReadKey(); 

ich hier eine do-while Schleife tue. Wenn die while-Schleife nicht erfüllt ist, überprüft sie kontinuierlich, ob die Nummer in dem angegebenen Bereich liegt, andernfalls wird sie beendet und die Namen werden gedruckt.

0

Sie konnten die Readline wickeln() in einer while-Anweisung

Beispiel ist

int number = -1; 
while(number < 1 || number > 10) 
{ 
     //Input code 
} 
//for loop goes under here 
1
static void Main(string[] args) 
    { 
     Console.Write("PLEASE ENTER YOUR FIRST AND LAST NAME: "); 
     string Name = Console.ReadLine(); 

     Console.Write("Enter the number of times you wish for me to repeat your name"); 
     var input = Console.ReadLine(); 
     int number = -1; 
     while (!int.TryParse(input, out number)) { 
      Console.WriteLine("Incorrect Value"); 
      Console.Write("Enter the number of times you wish for me to repeat your name"); 
      input = Console.ReadLine(); 
     } 

     for (int i = 0; i < number; i++) 
     { 
      Console.WriteLine("" + Name); 
      if (i == 9) 
      { 
       Console.WriteLine("End Program"); 
       break; 
      } 
     } 

     Console.ReadKey(); 

    } 
Verwandte Themen