import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
double d = scanner.nextDouble();
int a = 5;
double b = 2.0;
System.out.println(i + a);
System.out.println(d + b);
String s = scanner.nextLine();
String c = "HackerRank ";
System.out.println(c + s);
}
}
Zaveja
Level 21
Не читает строку из консоли. В чём причина?
Under discussion
Comments (2)
- Popular
- New
- Old
You must be signed in to leave a comment
ZavejaExpert
14 May 2023, 06:41
Решила сама вот так:
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
double d = scanner.nextDouble();
Scanner scanner1 = new Scanner(System.in);
String s = scanner1.nextLine();
int a = 5;
double b = 2.0;
String c = "HackerRank ";
System.out.println(i + a);
System.out.println(d + b);
System.out.println(c + s);
}
}
Но так и не поняла почему нужен новый сканер для строки
0
AleosExpert
14 May 2023, 12:32
После использования метода nextDouble() указатель остается в текущей строке, и когда ты используешь nextLine(), сканнер читает просто перевод строки '\n', отбрасывает его и возвращает пустую строку. Если ты в первом варианте прочитаешь nextLine() еще один раз - это и будет твоя строка.
0