繁体   English   中英

将数组从一种方法传递给另一种方法

[英]Passing an array from one method to another

我试图弄清楚如何将信息从一种方法传递到主要方法。 这可能很简单,我只是想念一些东西。 请帮忙 :)

 public static void main(String[] args) throws IOException {
   String[] name =  stateName();

 public static String[] stateName() throws IOException{
   int numState =0; 
   File file = new File ("stateNames.txt");
   Scanner in = new Scanner(file);
   while (in.hasNextLine()){
      String state = in.nextLine();
       numState++;
   }
   String[] states = new String [numState];
   Scanner reader = new Scanner(file);
   for (int i= 0; i < numState; i++){
    states[i] = reader.nextLine();
   }

   return states; 
}

当我运行它时,我返回:[Ljava.lang.String; @ 18892539我在做什么错?

实际上,没有错。 这正是它应该如何工作的。

当您尝试使用System.out.println打印数组时,您会得到提到的奇怪的神秘事物。 您可以使用解决此问题

System.out.println(Arrays.toString(name));

代替

System.out.println(name);

其他方式

String[] name = {"John", "Mike", "Jim"};

// this out put will be like this 
[ John, Mike, Jim ]
System.out.prinln(Arrays.asList(name));


// this way is better for formatting. Prints:
John
Mike
Jim
for (String s : name){
    System.out.println(s);     
}

// or this will print out
John Mike Jim
System.out.println(Arrays.toString(name));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM