У меня есть программа, которая запрашивает у пользователя ввод чисел и символов. Для этого я использую класс Scanner
. Но когда я беру два последующих строковых ввода, консоль просто перемещается и просит пользователя ввести вторую строку. Пользователь не может ввести первую строку. Я приложил свой код ниже, чтобы быть более конкретным..nextLine() метод не принимает последующие входы String
import java.util.Scanner;
class XYZ {
public static void main(String args[]) {
int x, y, z, b, c;
String p, q;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number");
b = sc.nextInt();
System.out.println("Enter a new number");
c = sc.nextInt();
System.out.println("Enter a String");
p = sc.nextLine();
System.out.println("Enter a new String");
q = sc.nextLine();
System.out.println("Enter a number");
x = sc.nextInt();
System.out.println("Enter 2nd number");
y = sc.nextInt();
System.out.println("Enter 3rd number");
z = sc.nextInt();
ABC a = new ABC();
a.PQR(b, c);
a.PQR(p, q);
a.PQR(x, y, z);
}
}
class ABC {
void PQR(int a, int b) {
int res = a + b;
System.out.println("The sum is" + " " + res);
}
void PQR(String a, String b) {
System.out.println("Thye concataneted string is" + a + " " + b);
}
void PQR(int a, int b, int c) {
int res = a * b * c;
System.out.println("The product is" + " " + res);
}
}
Я сделал фиктивный вызов next(), но все же я не могу ввести первую строку. Также я хочу использовать один и тот же объект класса сканера для целых и строковых входов. –
@PratikPaul Я ошибочно написал 'next()' вместо 'nextLine()'. Извини за это! –
Я использую перечисленный альтернативный метод для получения входов Integer с консоли. – shrmn