Geben Sie die erste Ganzzahl ein: 12 -8 Geben Sie die zweite Ganzzahl ein: Die Summe von 12 plus -8 ist 4
Die nextInt()
Methode scannt den Input-Strom Zeichen für Zeichen, wobei sie Zeichen in Gruppen zusammenfasst, die in numerische Daten konvertiert werden können. Sie ignoriert jedwede Leerzeichen und End-Of-Line Zeichen, die diese Gruppen trennen könnten.
In dem oben stehenden hat der Anwender zwei Gruppen in einer Zeile eingegeben. Jeder Aufruf von nextInt()
hat eine Gruppe gescannt.
Man könnte versucht sein sich den Input als einzelne Zeichen vorzustellen. Aber ein Scanner
sieht einen Strom von Zeichen. Nachdem er eine Gruppe gescannt hat, stoppt er, wo er auch gerade ist, und wartet bis er wieder zum Scannen aufgefordert wird.
Hier ist ein neues Programm, das durch Modifizierung des ersten Programms erstellt wurde.
dividend
und divisor
.quotient
und rest
und gibt beides aus.
quotient * divisor + rest
und gibt das Ergebnis aus.
import java.util.Scanner; class IntDivisionTest { public static void main (String[] args) { Scanner scan = new Scanner( System.in ); int dividend, divisor ; // int Version des Inputs int quotient, rest ; // Ergebnisse von "/" und "%" System.out.println("Dividend eingeben:"); // Dividend lesen dividend = scan.nextInt(); System.out.println("Divisor eingeben:"); // Divisor lesen divisor = scan.nextInt(); quotient = dividend / divisor ; // Quotient bilden rest = dividend % divisor ; System.out.println( dividend + " / " + divisor + " ist " + quotient ); System.out.println( dividend + " % " + divisor + " ist " + rest ); System.out.println( quotient + " * " + divisor + " + " + rest + " ist " + (quotient*divisor+rest) ); } }
Wir führen das Programm ein paar Mal aus. Was passiert, wenn negative Ganzzahlen eingegeben werden?
Haben diese Aufzeichnungen immer noch Eure ungeteilte Aufmerksamkeit?