GaneshRfromSpace Ответов: 2

Как получить строку с пробелами в качестве входных данных из консоли в java ?


import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i = scan.nextInt();
        double d = scan.nextDouble();
        String s;
        s = scan.nextLine();
        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
}


Это и есть код.
Какие изменения я должен внести в код, чтобы принять строку с пробелами в качестве входных данных и распечатать ее ?

Что я уже пробовал:

Вход (stdin):
42
3.1415
Доброе утро, хорошего дня!

Мой вывод (stdout):
Строка:
Двойной: 3.1415
Int: 42

Ожидаемый Результат:
Строка: Доброе утро, хорошего дня!
Двойной: 3.1415
Int: 42

Maciej Los

Кажется, что все в порядке.

2 Ответов

Рейтинг:
7

GaneshRfromSpace

Хорошо. Это будет тип вопросов и ответов. Я только что нашел ответ на свой вопрос.

Я поместил следующая линия метод сразу после nextInt/nextDouble метод.

Я забыл о том, что nextInt метод не будет читать "/n" символ новой строки это дается через stdin пользователем.

Поэтому перед размещением следующая линия метод, заготовка сканирование.nextLinemethod прочитал бы через "/n" символ новой строки.

Исправленный код выглядит следующим образом:

scan.nextLine();
String s;
s = scan.nextLine();


Рейтинг:
1

Suvendu Shekhar Giri

Попробовать это-

//s = scan.nextLine();
Scanner scanner = new Scanner(s);


Надеюсь, это поможет :)