-3

这是我的问题:

我有一种方法,其中一个参数是 Scanner cons,如下所示:

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
4

3 回答 3

2

您的方法buyIngredients采用 aScanner但您已通过 a int,这是不正确的。通过Scanner而不是:

System.out.println(h.buyIngredients(scan));
于 2013-05-15T20:11:11.707 回答
1

buyIngredients (Scanner cons)需要一个Scanner对象。在您的代码中,您传入的valueint. 您不能将类型int转换为特定对象。

于 2013-05-15T20:11:28.860 回答
1

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

于 2013-05-15T20:45:46.813 回答