2015-03-25 3 views
0

Мой главный код классаСписок_массивов не отображает правильный выход

{ 
    ArrayList<Item> items = new ArrayList<Item>(); 
    Scanner file = new Scanner(kk.class.getResourceAsStream("product.txt")); 
    while (file.hasNextLine()) { 
     String[] sp = file.nextLine().split(","); 
     // extract item number, description, price and type 
     itemNum = Integer.parseInt(sp[0]); 
     des = sp[1]; 
     price = Integer.parseInt(sp[2]); 
     Item objt = new Item(itemNum, des, price); // Creating a new object 
     items.add(objt); // Adding it to the list 
    } 
    System.out.println(items); 
} 

выход я получаю

[[email protected], [email protected], [email protected], dada.Item @ 5b4c92a7, [email protected],

Мой класс код товара

private int itemNum = 0; 
private String des = ""; 
private int price = 0; 

public Item(int i, String d, int p) { 
    itemNum = i; 
    des = d; 
    price = p; 
} 
+0

Что ваш код должен делать? Что вы еще пробовали? – PatJ

+0

Я хочу, чтобы arrayList сохранял данные из моего текстового файла –

ответ

2

Вы печатая Item ссылки-х вместо полей внутри вашего объекта Item. Вы печатаете поля внутри каждого объекта Item, перебирая их.

Замените эту строку

System.out.println(items); 

с

for(Item i : items) 
{ 
    System.out.println(i.getItemNum()+" "+i.getDes()+" "+i.getPrice()); 
} 

Измените класс, чтобы вы могли получить доступ к частному полю

private int itemNum = 0; 
private String des = ""; 
private int price = 0; 

public Item(int i, String d, int p) { 
    itemNum = i; 
    des = d; 
    price = p; 
} 

public void setItemNum(int itemNum) { 
    this.itemNum = itemNum; 
} 
public int getItemNum() { 
    return itemNum; 
} 

public void setDes(String des) { 
    this.des = des; 
} 
public String getDes() { 
    return des; 
} 

public void setPrice(int price) { 
    this.price = price; 
} 
public int getPrice() { 
    return price; 
} 
+0

Я пробовал ваш код, все еще не получая правильный вывод. Пример вывода я получил [email protected] [email protected] [email protected] –

+0

Как следует ваш выход выглядеть? Я думаю, что вы храните объекты в своем массиве. Пожалуйста, разместите здесь свой необходимый результат. Также покажите свой файл класса Item – Prudhvi

+0

@MeroRai. Я изменил свой ответ, посмотрим, работает ли он. Но я ответил, исходя из предположения, что ваш класс Item имеет общедоступные поля itemNum, des, price. Я мог бы помочь вам решить проблему, если бы вы могли показать свой класс Item. – Prudhvi

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