基本语法,用于在功能通过扫描仪对象作为参数(Basic Syntax for passing a S

2019-09-03 21:36发布

下面是我写的,这是非常基本的:

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;
    }
}

出了什么错在这里? 我有它前面的工作,我必须通过扫描仪类型参数名作为参数传递给函数...并简单地调用主使用扫描仪类型和参数作为参数传递给函数,函数?

- - -编辑 - - -

下面的新代码下面,将需要:

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谢谢!

Answer 1:

你需要通过实际的变量名in ,当你调用该方法,而不是类名Scanner

getChoice(in);

代替

getChoice(Scanner);

顺便说一句,你getChoice方法将无法编译,如图所示。 只是返回这就是扫描仪的回报,一个int ,当你宣称getChoice返回一个int

public static int getChoice(Scanner n){
    return n.nextInt();
}


文章来源: Basic Syntax for passing a Scanner object as a Parameter in a Function