Hi zusammen.
Bin in Sachen Java noch ein ziemlich Anfänger und bin auf folgedes Problem gestoßen.
Ich will eine Integer Zahl von der Tastatur einlesen. Anschließend einen String.
Wenn ich jetzt meine Zahl eingelesen hab, wird das Einlesen des Strings einfach übersprungen.
Hier mein Code:
Code:
import java.io.*;
import java.util.Scanner;
public class college_interface {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner( System.in );
System.out.println("(1) Academic Stuff");
System.out.println("(2) Student");
System.out.println("(3) Researcher");
System.out.println("(4) Other");
System.out.print("Welcome to the renting agency of our college.\nPlease enter your kind of membership: ");
int number = 0;
number = scan.nextInt();
System.out.println("My number: " + number);
if (number == 1)
{
System.out.println("\nYou are now logged in as acedmic stuff. \nPlease enter your name: ");
String name = scan.toString();
Stuff first = new Stuff(name);
first.getInfo();
}
else
{
System.out.println("Incorrect kind of membership.");
}
}
}
Und das hier wird auf der Console ausgegeben:
Code:
(1) Academic Stuff
(2) Student
(3) Researcher
(4) Other
Welcome to the renting agency of our college.
Please enter your kind of membership: 1
My number: 1
You are now logged in as acedmic stuff.
Please enter your name:
Name: class java.util.Scanner: {(delimiter:\p{javaWhitespace}+)(findStartIndex=1)(match succeed=true)(closed=false)}
In c musste man manchmal die Eingabe von Zeilenumbrüchen mit einem "flush" "bereinigen".
Gibt es sowas in die Richtung auch bei Java, oder ist mein Problem wo anders zu Suchen?