2013-11-25 2 views
0

Я пытаюсь понять, как передать форму информации одному методу основному методу. Это, наверное, просто, и я просто что-то пропустил. пожалуйста, помогите :)Передача массива от одного метода к другому

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, что я делаю не так ??

+0

Go читать на 'ToString()' метод и как это (не) для типов массивов. –

ответ

0

Другие способы сделать это

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)); 
0

На самом деле, ничего страшного. Именно так оно и должно работать.

Когда вы пытаетесь напечатать массив с помощью System.out.println, вы получите эту странную загадочную вещь, о которой вы говорили. Вы можете исправить это с помощью

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

вместо

System.out.println(name); 
Смежные вопросы