Так что это код, я использую:Сканер nextLine является пропуску
System.out.println("Create a name.");
name = input.nextLine();
System.out.println("Create a password.");
password = input.nextLine();
Но когда она достигнет этой точки он просто говорит: «Создать имя.» и «Создать пароль». оба в то же время, а затем я должен что-то напечатать. Таким образом, в основном пропускаются части сканера, где мне нужно набирать строку. После «Создать имя». и «Создать пароль». распечатывается и я печатаю тогда, как имя, так и пароль меняются на то, что я ввел. Как это исправить?
Это полный класс. Я просто тестирую, поэтому на самом деле это не будет программа:
package just.testing;
import java.util.Scanner;
public class TestingJava
{
static int age;
static String name;
static String password;
static boolean makeid = true;
static boolean id = true;
public static void main(String[] args){
makeid(null);
if(makeid == true){
System.out.println("Yay.");
}else{
}
}
public static void makeid(String[] args){
System.out.println("Create your account.");
Scanner input = new Scanner(System.in);
System.out.println("What is your age?");
int age = input.nextInt();
if(age<12){
System.out.println("You are too young to make an account.");
makeid = false;
return;
}
System.out.println("Create a name.");
name = input.nextLine();
System.out.println("Create a password.");
password = input.nextLine();
return;
}
}
И извините за мою плохую грамматику. Я не английский, поэтому мне трудно объяснить это.
Вы правильно объявили и инициализировали «Сканер» –
Да: «Вход сканера = новый сканер (System.in);» –
Вам необходимо убедиться, что вы инициализируете сканер с помощью System.in. Edit: ah, ok – Nathan