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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我不能通過get獲取元素?

/**

* 測試list中是否有某課程

* @param args

*/

public void listContains() {

//獲取課程中的第0個元素

Course course=courseToSelect.get(0);

System.out.println("獲取的課程名為"+course.name);

System.out.println("備選課程中是否有該課程"+course.name+","+ courseToSelect.contains(course));

}

他提示這個錯誤

The method get(int) is undefined for the type Set<Course>?

正在回答

2 回答

你建立的是set集合,set是無序的不能調用get方法

0 回復 有任何疑惑可以回復我~

package whx.exerecise;


import java.util.Arrays;

import java.util.HashSet;

import java.util.List;

import java.util.Scanner;

import java.util.Set;


/**

?* 選課。

?* 1.提供備選課程

?* 2.為學生選課

?* @author Administrator

?*

?*/

public class SetTest {

public Set<Course> courseToSelect;//創建一個List 的 courseToSelect

public SetTest() {

this.courseToSelect=new HashSet<Course>();//實例化

}

Student stu1=new Student("1","小明");//創建學生

/**

?* 添加課程

?*/

public void test() {

Course c1=new Course("1","數據結構");//創建一個課程對象

courseToSelect.add(c1);//把課程放入list中

Course c2=new Course("2","C語言");//創建一個課程對象

courseToSelect.add(c2);//把課程放入list中 ? ? ? ? ? ? ? 添加到指定位置?。。。?/p>

//注意,添加不能大于現在集合的長度!否則報錯!!

//通過數組的方式

Course[] c3= {new Course("3","離散數學"),new Course("4","匯編語言")};

courseToSelect.addAll(Arrays.asList(c3));//通過Arrays.asList將c3數組傳入List中?。?/p>

Course[] c4= {new Course("5","專業英語"),new Course("6","高等數學")};

courseToSelect.addAll(Arrays.asList(c4));//只需要傳入1次即可?。?

}

/**

* 通過For each方法 ? ?(最簡單)

* @param args

*/

public void testForEach() {

System.out.println("可以選擇的課程有(使用For each):");

for(Course c:courseToSelect) {//遍歷courseToSelect中的每一個元素

Course c1=(Course)c;

System.out.println("課程:"+c1.id+c1.name);

}

}

/**

* 創建學生,選擇三門課程

* @param args

*/

public void Stutest() {

System.out.println("歡迎"+stu1.name+"選課!");

for(int i=0;i<3;i++) {

System.out.println("請選擇一門課程");

Scanner input=new Scanner(System.in);

String num=input.next();

for(Course c:courseToSelect) {

if(c.id.equals(num)) {

Student.courses.add(c);//將選定的課程放入學生列表

}

}

?}

//System.out.println("選擇了課程"+Student.courses.id+":"+Student.courses.name); ? 不可以直接輸出!需要遍歷然后輸出

}

public void StuTestForEach() {

for(Course c:Student.courses) {

System.out.println(c.id+":"+c.name);

}

}

/**

* 測試list中是否有某課程

* @param args

*/

public void listContains() {

//獲取課程中的第0個元素

Course course=courseToSelect.get(0);

System.out.println("獲取的課程名為"+course.name);

System.out.println("備選課程中是否有該課程"+course.name+","+ courseToSelect.contains(course));

}

public static void main(String[] args) {

// TODO Auto-generated method stub

? ? SetTest t1=new SetTest();

? ? t1.test();

? ? t1.testForEach();

? ? t1.Stutest();

? ? t1.StuTestForEach();

? ? t1.listContains();

}



}

這是我的全部代碼,哪里的問題呢

0 回復 有任何疑惑可以回復我~
#1

土不拉幾的俊

public class SetTest { public Set<Course> courseToSelect;//創建一個List 的 courseToSelect public SetTest() { this.courseToSelect=new HashSet<Course>();//實例化 } 這是你的第二行的注釋你是要建立一個List來存儲數據 但是你創建的是一個Set集,而Set是無需的,不能用get方法獲取索引 將你創建的Set改成List就沒問題了
2019-02-16 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我不能通過get獲取元素?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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