java - 将 Scanner 对象作为函数中的参数传递的基本语法

标签 java function parameters arguments java.util.scanner

这是我写的非常基本的内容:

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

最佳答案

调用该方法时,需要传递实际的变量名in,而不是类名Scanner

getChoice(in);

而不是

getChoice(Scanner);

顺便说一句,您的 getChoice 方法将不会如图所示进行编译。只需返回扫描仪返回的内容,即 int,正如您声明 getChoice 返回 int 一样:

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

关于java - 将 Scanner 对象作为函数中的参数传递的基本语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599691/

相关文章:

java - 将现有的 Jersey Postgres 应用程序迁移到 Spring Boot

c - 让 function1 调用 function2 并让 function2 调用 function1 的干净方法是什么?

javascript - Google 应用程序脚本 - 运行自定义功能的自定义菜单

java - EasyMock - 部分模拟将模拟分配给特定字段

java - 是否可以将同一个对象保存到两个不同的表房间?

java - java中如何转换外来字符?

我们可以在 C 的不同函数中声明相同的局部静态变量吗?

sql - 谷歌 BQ : Running Parameterized Queries where Parameter Variable is the BQ Table Destination

Spring 和 jtds.jdbc.Driver 参数

c++ - 将具有默认值的数组作为参数传递给 int main()