2017-05-22 4 views
-1
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace sample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int[] studentNumber = new int[10]; 

     string firstname, lastname; 
     int i, unit; 
     double grade, gwa; 

     Console.Write("enter first name: "); 
     firstname = Console.ReadLine(); 

     Console.Write("enter last name: "); 
     lastname = Console.ReadLine(); 

     Console.Write("enter student number: "); 

     if (studentNumber.Length != 10) 
     { 
      Console.Write("student number must be 10 characters!"); 
      Console.ReadLine(); 
     } 

     MessageBox.Show(firstname + " " + lastname + "\n" + studentNumber, "Mapua"); 

    } 
} 
} 

Wie kann ich überprüfen, ob der Benutzer genau 10 Zeichen eingegeben hat? Und wenn der Benutzer das getan hat, wie würde ich das zu meiner Message-Box-Methode aufrufen? Wie könnte ich das in der Ausgabe zeigen? Vielen Dank!Wie überprüft man, ob die eingegebene Eingabe mit Arrays genau 10 Zeichen hat?

+3

Geben Sie Ihren Code hier ein, anstatt ihn als Bild zu veröffentlichen. –

+0

Es ist nicht Instagram, Wie schwer könnte es sein, nur zu kopieren, einfügen und einrücken? – Frrank

+0

Es tut mir leid, dauerte eine Weile, um herauszufinden, die Einrückung –

Antwort

0

Sie können mit nur überprüfen,

if(studentNumber.Length != 10) 
{ 
    Console.Write("Student number must be 10 characters");  
} 

Und Sie können messageBox nicht in einer Konsolenanwendung verwenden, um es zu Windows-Formular ändern.

+0

Es erlaubt mir nicht, eine Studentennummer einzugeben, und die Ausgabe für das Meldungsfeld sagt System.Int32 [] –

+0

@AJGayeta Nun, Sie müssen den Benutzer für diese Informationen auffordern, aber das war nicht Ihre Frage ... –

0

Hier ist eine Möglichkeit, die Schülernummer vom Benutzer zu erhalten, indem sie sie zwingen, 10 Ziffern einzugeben und jedes gültige Zeichen zu Ihrem studentNumber-Array hinzuzufügen. Der Code funktioniert im Grunde diese:

  1. fordert den Benutzer zur Eingabe der Matrikelnummer
  2. Während sie Eingabe weniger als 10 Zahlen haben:
  3. die nächste Taste durch die
  4. Benutzer eingegeben Lesen Wenn der Schlüssel eingegeben ist nicht eine Zahl (die wir bestimmen können, indem wir sicherstellen, dass das Zeichen nicht weniger als 0 oder größer als 9 ist), dann eins von der Cursorposition subtrahieren (wodurch sie die Zahl erneut eingeben), schreiben Sie ein Leerzeichen über ihre Eingabe, und sichern Sie die Cursorposition erneut (so sieht es aus, li ke ihre Eingabe wurde abgelehnt, was es war).
  5. Wenn der Schlüssel eine Zahl, fügen Sie unser Angebot und einen Zähler erhöhen, so dass wir wissen, wann sie 10 Nummern eingegeben haben:

Hier ist der Beispielcode:

int[]studentNumber = new int[10]; 

Console.Write("enter student number: "); 

int numbersEntered = 0; 

while (numbersEntered < 10) 
{ 
    var input = Console.ReadKey(); 

    // If the input is not a number, then reject their input by 
    // backing up one character, writing a blank space over their 
    // entry, and then back up again so we can get the next key. 
    if (input.KeyChar < '0' || input.KeyChar > '9') 
    { 
     Console.CursorLeft -= 1; 
     Console.Write(" "); 
     Console.CursorLeft -= 1; 
     continue; 
    } 

    studentNumber[numbersEntered] = int.Parse(input.KeyChar.ToString()); 
    numbersEntered++; 
} 

Am Ende dieser Schleife enthält das Array studentNumber die 10 vom Benutzer eingegebenen Nummern.

Verwandte Themen