首页 > 解决方案 > 为什么这种方法不能为我工作,创建一维数组?

问题描述

我是 java 的初学者,我想使用 Scanner 类来创建一个方法,我可以在另一种方法中使用它:

package my_train_1;

import java.util.Scanner;

public class Use_methods {

    public static void main(String[] args) {
        System.out.println("voila les nouvelles chaines de caractéres que vous vennez de saisir");
        saisir(sclavier);

    } 

    public static void saisir(String sclavier[]) {
        int p=0;
        while(p<5) {
            System.out.print("saisir une chaine de caracter");
            Scanner reader=new Scanner(System.in);
            sclavier[p]=reader.nextLine();
            p++;
        }

    }

}

那么,我能做些什么来正确编译它?

标签: javamethods

解决方案


当您调用时saisir(sclavier);sclavier什么都不是,您必须为该方法提供一个新数组saisir(new String[5]);


如果您需要在之后使用它,请将其保存在变量中:

String[] res = new String[5];
saisir(res);
System.out.println(Arrays.toString(res));

另外,Scanner每次只用一个,不用一个新的,不需要

public static void saisir(String sclavier[]) {
    int p = 0;
    Scanner reader = new Scanner(System.in);
    while (p < 5) {
        System.out.print("saisir une chaine de caracter");
        sclavier[p] = reader.nextLine();
        p++;
    }
}

推荐阅读