Erreur Java: méthode de classe ne peut pas être appliquée pour les types de donnée
Je suis juste essayer d'appeler les méthodes de la main de chaque commutateur lorsque cela arrive, mais je viens d'obtenir le message d'erreur à chaque fois que j'essaie d'appeler toutes les méthodes, ne pas essayer de retourner quoi que ce soit. ex. si l'utilisateur entre un ou Une, je tiens à appeler la méthode add pour principal
public static void main(String[] args)
{
char character;
Scanner keyboard = new Scanner(System.in);
while (character != 'E' || character != 'e')
{
System.out.println(" A:Addition \n S:Subtraction \n M:Multiplication \n D:Division \n R:Modulus \n E:exit");
switch (character)
{
case 'a':
case 'A':
System.out.println("your choice A");
add();
break;
case 's':
case 'S':
System.out.println("your choice S");
subtraction();
break;
case 'm':
case 'M':
System.out.println("your choice M");
multiplication();
break;
case 'd':
case 'D':
System.out.print("your choice D");
division();
break;
case 'r':
case 'R':
System.out.println("your choice R");
modulus();
break;
default:
System.out.println("Error: please enter a valid letter");
break;
}
}
}
public static void add(Scanner keyboard)
{
int a,b;
//get integer 1
System.out.println("enter integer 1");
a = keyboard.nextInt ();
//get integer 2
System.out.println("enter integer 2");
b = keyboard.nextInt();
int total = a + b;
System.out.println(a + "plus" + b + "is" + total );
}
public static void subtraction(Scanner keyboard)
{
int a,b;
//get integer 1
System.out.println("enter integer 1");
a = keyboard.nextInt ();
//get integer 2
System.out.println("enter integer 2");
b = keyboard.nextInt();
int total = a-b;
System.out.println(a + "minus" + b + "is " + total);
}
public static void multiplication(Scanner keyboard)
{
int a,b;
//get integer 1
System.out.println("enter integer 1");
a = keyboard.nextInt ();
//get integer 2
System.out.println("enter integer 2");
b = keyboard.nextInt();
int total = a*b;
System.out.println(a + "times" + b + "is " + total);
}
public static void division(Scanner keyboard)
{
int a,b;
//get integer 1
System.out.println("enter integer 1");
a = keyboard.nextInt ();
//get integer 2
System.out.println("enter integer 2");
b = keyboard.nextInt();
int total = a/b;
System.out.println(a + "divided" + b + "is " + total);
}
public static void modulus(Scanner keyboard)
{
int a,b;
//get integer 1
System.out.println("enter integer 1");
a = keyboard.nextInt ();
//get integer 2
System.out.println("enter integer 2");
b = keyboard.nextInt();
int total= a%b;
System.out.println(a + "modulus" + b + "is " + total);
System.out.println("The program is terminating");
}
}
Quelle ligne vous obtenez cette erreur?
vous définissez ajouter à prendre dans un
vous définissez ajouter à prendre dans un
Scanner
objet, mais de l'appeler sans aucun argument...OriginalL'auteur Klutchxv | 2015-02-11
Vous devez vous connecter pour publier un commentaire.
vous êtes à l'appel de la méthode, mais vous n'avez pas inclure un argument
jetez un oeil à ce.
vous disposez d'un argument, alors vous devez inclure un argument lors de l'appel de cette méthode
donc
vous devez appeler la méthode comme ceci.
OriginalL'auteur Dyrandz Famador
Vous avez défini la méthode qui prend Scanner comme argument, mais vous êtes en appelant la méthode sans args.
OriginalL'auteur Vivin
Tous la méthode que vous utilisez sont censés recevoir une
Scanner
objet alors que vous ne transmettez pas d'argument.Par exemple, vous appelez
add();
alors que c'signature estC'est pourquoi vous obtenez l'erreur.
Au lieu de cela, utiliser
add(keyboard)
et répétez la même pour la soustraction, la multiplication, la division et le modulo méthodes.De sorte que votre
switch
serait maintenant ressembler àOriginalL'auteur Jean-François Savard
Il vous manque les arguments dans l'appel de méthode.
OriginalL'auteur Sivaramvt