Syntaxe de base pour passer un Scanner objet en tant que Paramètre dans une Fonction
Voici ce que j'ai écrit qui est assez basique :
import java.util.Scanner;
public class Projet {
/**
* @param args
* @param Scanner
*/
public static void main(String[] args) {
//TODO Auto-generated method stub
System.out.println("Enter a digit");
Scanner in = new Scanner(System.in);
getChoice(Scanner);
in.close();
}
public static int getChoice(Scanner n){
n = in.nextInt();
return n;
}
}
Ce qui semble être le problème ici ? Je l'ai eu à travailler plus tôt, j'ai dû passer le type de Scanner et nom d'argument en tant que paramètre à la fonction... et tout simplement appeler cette fonction dans le main à l'aide de type de Scanner et de l'argument comme un argument de la fonction ?
-----EDIT-----
Nouveau Code ci-dessous pour ci-dessous qui en auront besoin :
import java.util.Scanner;
public class Projet {
/**
* @param args
* @param Scanner
*/
public static void main(String[] args) {
//TODO Auto-generated method stub
System.out.println("Enter a digit");
Scanner in = new Scanner(System.in);
System.out.println(getChoice(in));
in.close();
}
public static int getChoice(Scanner in){
return in.nextInt();
}
}
@rgettman Merci !
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de passer le nom de variable
in
lorsque vous appelez la méthode, pas le nom de la classeScanner
.au lieu de
Par ailleurs, votre
getChoice
méthode ne compile pas, comme illustré. Juste retour de ce que le scanner retours, ce qui est unint
, comme vous l'avez déclarégetChoice
de retour d'unint
:int n = in.nextInt()
? Ou est-ce parce qu'il n'a pas à déclarern
un nombre Entier?