亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Getter 在其他類中不可見

Getter 在其他類中不可見

小怪獸愛吃肉 2022-06-30 10:24:06
學Java一周了,現在遇到一個問題,因為想打印方法printArray中的所有Arraylist,但是方法看不到getName()等方法不知道怎么解決問題。非常感謝你的幫助。如果可以的話,請告訴我我做錯了什么。班級職位:  public class Positions {        List<Positions> list = new ArrayList<>(15);        int ageAdd;        int IDAdd;        String nameAdd;        int counter;        String name;        int age;        int ID;        public Positions(String name, int age, int ID) {            this.name = name;            this.age = age;            this.ID = ID;        }        public Positions() {            this("", 0, 0);        }//there are methods://adding element//removing element//changing values//etcpublic String getName() {        return name;    }    public int getAge() {        return age;    }    public int getID() {        return ID;    }    public void printArray() {        for (int i = 0; i < list.size(); i++) {            System.out.println(i + " : " + " NAME: " + list.getName(i) + " AGE: " + list.getAge(i) + " ID: " list.getID(i));        }    }主要課程:public class ArrayList2{    public static void main (String[] args)    {        Positions p = new Positions();        System.out.println("----LISTA TABLICOWA-----");        System.out.println("Co chcesz wykona?? ");        System.out.println("1. Dodac element do listy. ");        System.out.println("2. Usunac elemnt z listy.");        System.out.println("3. Wstawi? na dowolna pozycje.");        System.out.println("4. Rozmiar listy.");        System.out.println("5. Zmienic wartosc na podanym indeksie.");        System.out.println("6. Wy?wietli? list?. ");       while(true) {           System.out.println("podaj pozycj?: ");           Scanner ch = new Scanner(System.in);           int choice= ch.nextInt();
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

您只是對數組訪問有問題:


而不是使用:


public void printArray() {

   for (int i = 0; i < list.size(); i++) {

       System.out.println(i + " : " + " NAME: " + list.getName(i) ...);

   }

}

你應該使用:


public void printArray() {

   for (int i = 0; i < list.size(); i++) {

       System.out.println(i + " : " + " NAME: " + list.get(i).getName() ...);

   }

}

因為您想獲取特定元素的名稱,而在 OO 語言中,這通常意味著調用對象本身的方法。


在您的示例中,您有一個列表,其中包含包含名稱的對象。所以如果你想從列表中訪問名字,你需要先獲取一個元素,然后獲取他的名字。


HTH。


查看完整回答
反對 回復 2022-06-30
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

要遍歷您的列表,請使用


for (int i = 0; i < list.size(); i++) {

    Positions p = list.get(i);

    System.out.println(i + " : " + " NAME: " + p.getName() + " AGE: " + p.getAge() + " ID: " + p.getID());

}

或者


int index =0;

for (Positions p : list) {

    System.out.println(index++ + " : " + " NAME: " + p.getName() + " AGE: " + p.getAge() + " ID: " + p.getID());

}


查看完整回答
反對 回復 2022-06-30
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

嘗試使用以下代碼更改方法。希望它會有所幫助。


public void printArray() {

        for (int i = 0; i < list.size(); i++) {

            System.out.println(i + " : " + " NAME: " + list.get(i).getName() + " AGE: " + list.get(i).getAge() + " ID: " list.get(i).getID());



        }

    }


查看完整回答
反對 回復 2022-06-30
  • 3 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號