参数扫描仪

时间:2013-05-15 20:09:32

标签: java methods parameters java.util.scanner

这是我的问题:

我有一个方法,其中一个参数是扫描仪缺点,如下所示:

public void buyIngredients (Scanner cons){}

它的确有效,但错误主要在于:

import java.util.Scanner;
public class Main{

public static void main(String [] args){
Hero h = new Hero();
Scanner scan = new Scanner(System.in);
int value = scan.nextInt();
System.out.println(h.buyIngredients(value));

错误是这样的:

Main.java:11: error: method buyIngredients in class Hero cannot be applied to given types;
System.out.println(h.buyIngredients(value)); 
                    ^
 required: Scanner
 found: int
 reason: actual argument int cannot be converted to Scanner by method invocation conversion

3 个答案:

答案 0 :(得分:2)

您的方法buyIngredients需要Scanner,但您已通过int,这是不正确的。改为通过Scanner

System.out.println(h.buyIngredients(scan));

答案 1 :(得分:1)

您的buyIngredients (Scanner cons)需要Scanner个对象。在您的代码中,您传递的是value int。您无法为特定对象输入int

答案 2 :(得分:1)

您的buyIngredients(Scanner cons)方法需要使用扫描仪作为参数。我怀疑它应该改为buyIngredients(int cons),但除非我能看到方法体,否则我无法知道。