Сканер перестает работать и проблемы с печатью. Почему?

1

Я использую eclipse для этого проекта. Я пробовал компиляцию в командной строке, но те же проблемы возникают. Сканер работает, пока я не доберусь до "телефона", а затем просто пропустит вход пользователя и распечатает все остальное в одной строке.

Я ожидаю, чтобы сохранить вход пользователей в назначенные переменные, а затем распечатать их на отдельных строках.

Я добавил sc.close; чтобы узнать, поможет ли это, но это не так. Некоторая помощь будет принята с благодарностью. Также мой переменный "адрес" не полностью распечатан. Думаю, я могу неправильно использовать Сканер?

import java.util.Scanner; 

public class ContactDisplay {

public static void main(String[] args) {

    //Write a program that displays your name, address, and telephone number;
    //create scanner
    Scanner sc = new Scanner(System.in);
    //Creates the variables; 
    String name; 
    String address; 
    String phone; 

    //Asks for name
    System.out.print("What is your name? ");
    //stores the name
    name = sc.next(); 
    //Asks and stores the address
    System.out.print("What is your address? ");
    address = sc.next(); 
    //Asks and stores the phone number 
    //PROBLEM IS BELOW
    System.out.print("What is your phone number? ");
    phone = sc.next(); 


    //Prints everything out
    System.out.println(name);
    System.out.println(address);
    System.out.println(phone);

}

}

Вот скриншот: Изображение 174551

  • 0
    Вы получаете какую-либо ошибку?
  • 0
    Ошибок нет, просто заканчивается.
Теги:
console
java.util.scanner
println

1 ответ

0
Лучший ответ

Вы должны использовать "sc.nextLine()" для сканирования строковых значений, и вы должны использовать "sc.nextInt" для сканирования целочисленных значений. Если вы нажимаете клавиши ctrl и пробел, набирая кучу кода, он показывает вам возможные вещи, которые вы, возможно, захотите написать.

  • 0
    Ты гений! Я бы сказал ваш ответ, но мне пока не хватает репутации. Вы случайно не знаете, почему sc.next () не работает и почему sc.nextLine () работает? Результат был возвращен, как и ожидалось. i.imgur.com/8QiLNp6.png
  • 0
    потому что вы ввели свои переменные как строку, и если вы хотите сканировать строковые переменные, вы должны использовать сканер (который вы назвали ранее) .nextLine ();
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню