У меня есть код, который я хотел бы иметь, чтобы три переменные вызывали метод, который читает ввод пользователя и определяет, является ли он целым (если не reprompt пользователь), а затем возвращает переменная. Я получаю следующее сообщение об ошибке компилятора при попытке компиляции:Невозможно использовать сканер в методе
Error: The method getInt(int) in the type Methods is not applicable for the arguments (java.util.Scanner)
Вот мой код:
import java.util.Scanner;
public class Methods{
public static void main(String [] arg){
Scanner scan=new Scanner(System.in);
int a,b,c;
System.out.println("Enter three ints");
a = getInt(scan.nextInt());
b = getInt(scan.nextInt());
c = getInt(scan.nextInt());
}
public static int getInt(String input){
Scanner scan=new Scanner(System.in);
int num = 0;
while (num <1) {
if(scan.hasNextInt()) {
int number = scan.nextInt();
num +=1;
}
else{
System.out.println("Invalid input. Please enter an integer value.");
input.next();
}
}
}
Любой помощь вы могли бы дать был бы оценен!
Ваш метод 'getInt' принимает' int' переменную как его параметр. Вы не можете передать экземпляр «Scanner», где ожидается «int». Кроме того, ваш код не компилируется, как указано ... вы переопределяете 'input' (параметр типа' int' на функцию 'getInt') внутри функции' getInt' типа 'Scanner'. –