Всем привет!
Написал код, он отлично справляется с поставленной задачей, однако есть проблема.
У меня почему-то срабатывает метод print(String value) c пустой строкой (скрин прикладываю, обвел красным цветом проблему).
Я не могу понять, откуда идет эта пустая строка и почему вызывается на нее этот метод, может кто-то может мне помочь?
![]()

package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
String exit = "Первоначальное значение";
double d;
int x;
short s;
while (!exit.equalsIgnoreCase("exit")) {
if (scanner.hasNextInt()) {
x = scanner.nextInt();
if (x > 0 && x < 128){
s = (short) x;
print(s);
} else {print(x);}
}else if (scanner.hasNextDouble()) {
d = scanner.nextDouble();
print(d);
}else {
exit = scanner.nextLine();
print(exit);
}
}
scanner.close();
}
public static void print(Double value) {
System.out.println("Это тип Double, значение " + value);
}
public static void print(String value) {
System.out.println("Это тип String, значение " + value);
}
public static void print(short value) {
System.out.println("Это тип short, значение " + value);
}
public static void print(Integer value) {
System.out.println("Это тип Integer, значение " + value);
}
}