2017-01-11 1 views
-11

Я хочу сохранить координаты (целые числа xy) и другое целое число. У меня есть класс с переменными x, y, steps и еще один класс, в котором я хочу создавать объекты другого класса и хранить их в связанном списке, но это работает только при создании объектов внутри цикла for. Когда я создаю объекты с тем же именем, компилятор говорит «переменная, уже определенная в main метода». Как создать объекты снаружи для цикла?Как добавить объекты в связанный список JAVA?

это тот, который работает с петлей для

import java.util.LinkedList; 
import java.util.Scanner; 
public class Main 
{ 
public static void main(String[] args) 
{ 

    Scanner sc = new Scanner(System.in); 
    LinkedList<Coordinates> coords = new LinkedList<Coordinates>(); 
    for (int j=0; j<3;j++) 
    { 
     Coordinates xy = new Coordinates(); 
     System.out.println("give x"); 
     xy.x=sc.nextInt(); 
     System.out.println("give y"); 
     xy.y=sc.nextInt(); 
     xy.steps=xy.steps+1; 
     coords.add(xy);   
    }  
    } 
} 

Я хочу что-то вроде этого, но он не работает

import java.util.LinkedList; 
import java.util.Scanner; 
public class Main 
{ 
public static void main(String[] args) 
{ 

    Scanner sc = new Scanner(System.in); 
    LinkedList<Coordinates> coords = new LinkedList<Coordinates>(); 

    Coordinates xy = new Coordinates(); 
    System.out.println("give x"); 
    xy.x=sc.nextInt(); 
    System.out.println("give y"); 
    xy.y=sc.nextInt(); 
    xy.steps=xy.steps+1; 
    coords.add(xy); 

    Coordinates xy = new Coordinates(); 
    System.out.println("give x"); 
    xy.x=sc.nextInt(); 
    System.out.println("give y"); 
    xy.y=sc.nextInt(); 
    xy.steps=xy.steps+1; 
    coords.add(xy);     
} 
} 

Там будут другие объекты не только эти два!

+0

Вам необходимо отправить код и объяснить вашу проблему лучше. Очень неясно, о чем вы спрашиваете. – Carcigenicate

ответ

1

Вы скопировали свое объявление Coordinates xy.

Это причина сообщения об ошибке «variable already defined», которое вы получили. Фактическое сообщение об ошибке должно даже дать вам номер строки проблемы, чтобы вы могли ее идентифицировать.

Просто укажите его как xy во втором случае.

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