2016-03-13 5 views
0

я есть вход так:Использование многомерного массива

City1 Neighbor1 Neighbor2 Neighbor3 
City2 Neigbor1 Neighbor2 
City3 Neighbor1 Neighbor2 
City4 Neighbor1 

Я прочитал вход, используя цикл и пытается создать объект Город, где каждый город имеет свои собственные neigbors.

public class City { 
    String id; 
    String name; 
    ArrayList<String> connections=new ArrayList<>(); 

    public City(String id, String name, String ... a){ 
     this.id=id; 
     this.name=name; 
     for(String k : a){ 
      connections.add(k); 
     } 
    } 
} 

Я разделил вход и создаю объект City и добавлю их все в города ArrayList.

ArrayList<City> cities = new ArrayList<City>(); 
cities.add(new City(splitted[0],connections)); 

Все еще не работает. Что не так с моим кодом?

Спасибо за помощь!

for(String list = b.readLine(); list != null; list = b.readLine()) { 
    String[] splitted = list.split(" "); 
    int l = splitted.length; 
    connections = new String[l-1]; 
    for(int i = 1; i < splitted.length; i++) 
    { 
     connections[i-1] = splitted[i]; 
    } 
    cities.add(new City(splitted[1],connections)); 
} 
+0

также разместите разделительный код .... ничего плохого в этом – Rishi

+0

для (String list = b.readLine(); list! = Null; list = b.readLine()) \t \t { \t \t \t String [] split = list.split (""); \t \t \t int c = splitted.length; \t \t \t connections = new String [c-1]; \t \t \t для (INT = 1; г

+0

@MrE Редактировать его, не размещать его в качестве комментария. – Majora320

ответ

1

Посмотрите на свой конструктор города и то, как вы на самом деле создаете города - они не совпадают. Вы должны создать город, позвонив по телефону new City("some id", splitted[0], connections)

+0

О да! Как я могу видеть выход соседей? –

+0

Что вы подразумеваете под выходом o соседей? – Rtoip

+0

Я хочу увидеть их с помощью System.out.println –

Смежные вопросы