課程
/后端開發(fā)
/Java
/Java入門第三季
3:離散數(shù)學為什么會顯示兩次
2017-03-05
源自:Java入門第三季 4-11
正在回答
你添加了2次離散數(shù)學,是2個不同的對象額,如果你Course k0=new?new Course("3","離散數(shù)學"),然后把這個放進List里兩次,再用放到Set里面,再foreach Set就不會出現(xiàn)兩次了?
同求解
頂,求大神來解答
public class SetTest {
public List<Course> coursesToSelect; ? ?//存儲備選課程
public SetTest() {
coursesToSelect=new ArrayList<Course>();
}
public void testAdd(){
//創(chuàng)建一個課程對象
Course cr1=new Course("1","數(shù)據(jù)結(jié)構");
coursesToSelect.add(cr1);
System.out.println("添加了課程:"+cr1.id+":"+cr1.name);
Course cr2=new Course("2","C語言");
coursesToSelect.add(0,cr2); //將元素2放到元素1的位置上
System.out.println("添加了課程:"+cr2.id+":"+cr2.name);
//創(chuàng)建一個對象數(shù)組course
Course[]course1={new Course("3","離散數(shù)學"),new Course("4","JAVA語言")};
coursesToSelect.addAll(Arrays.asList(course1));
Course[]course2={new Course("3","離散數(shù)學"),new Course("5","操作系統(tǒng)"),new Course("6","計算機網(wǎng)絡")};
coursesToSelect.addAll(2,Arrays.asList(course2));
public void testforEach(){
System.out.println("有如下課程(通過for each訪問):");
for(Course cr:coursesToSelect){ ?
System.out.println("課程"+cr.id+":"+cr.name);
public void testforEachSet(Student stu){
//打印輸出,學生所選的課程!
System.out.println("共選擇了"+stu.courses.size()+"門課程");
for(Course cr:stu.courses){
System.out.println(cr.id+":"+cr.name);
public static void main(String[] args) {
// TODO Auto-generated method stub
SetTest st=new SetTest();
st.testAdd();
st.testforEach();
//創(chuàng)建一個學生對象
Student stu=new Student("101","小明");
System.out.println("歡迎學生"+stu.name+"來選課");
//創(chuàng)建一個Scanner對象
Scanner console=new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("請輸入課程ID");
String courseId=console.next();
for(Course cr:st.coursesToSelect){
if(cr.id.equals(courseId)){ ? //判斷輸入的課程id是否與備選課程匹配
stu.courses.add(cr); ?//將選擇的課程添加到課表里
stu.courses.add(cr);
//調(diào)用打印學生選課的信息
st.testforEachSet(stu);
代碼貼出來看看
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答關于學生選課添加課程II的問題
3 回答學生選課——應用泛型管理課程
4 回答學生選課項目 為什么我導入了兩門課程 結(jié)果運行只出現(xiàn)一門課
3 回答最后輸出學生選的課程時:添加三門課程時,順序不會變!添加4門課程時,輸出順序會變化,但是(第二次測試)的輸出結(jié)果和上次又一樣
1 回答我想重復添加課程:1 數(shù)據(jù)結(jié)構,為什么代碼執(zhí)行后顯示添加的是課程:5 數(shù)學,并且遍歷時能兩次取得課程:1 數(shù)據(jù)結(jié)構
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-07-14
你添加了2次離散數(shù)學,是2個不同的對象額,如果你Course k0=new?new Course("3","離散數(shù)學"),然后把這個放進List里兩次,再用放到Set里面,再foreach Set就不會出現(xiàn)兩次了?
2017-03-21
同求解
2017-03-20
頂,求大神來解答
2017-03-05
public class SetTest {
public List<Course> coursesToSelect; ? ?//存儲備選課程
public SetTest() {
coursesToSelect=new ArrayList<Course>();
}
public void testAdd(){
//創(chuàng)建一個課程對象
Course cr1=new Course("1","數(shù)據(jù)結(jié)構");
coursesToSelect.add(cr1);
System.out.println("添加了課程:"+cr1.id+":"+cr1.name);
Course cr2=new Course("2","C語言");
coursesToSelect.add(0,cr2); //將元素2放到元素1的位置上
System.out.println("添加了課程:"+cr2.id+":"+cr2.name);
//創(chuàng)建一個對象數(shù)組course
Course[]course1={new Course("3","離散數(shù)學"),new Course("4","JAVA語言")};
coursesToSelect.addAll(Arrays.asList(course1));
Course[]course2={new Course("3","離散數(shù)學"),new Course("5","操作系統(tǒng)"),new Course("6","計算機網(wǎng)絡")};
coursesToSelect.addAll(2,Arrays.asList(course2));
}
public void testforEach(){
System.out.println("有如下課程(通過for each訪問):");
for(Course cr:coursesToSelect){ ?
System.out.println("課程"+cr.id+":"+cr.name);
}
}
public void testforEachSet(Student stu){
//打印輸出,學生所選的課程!
System.out.println("共選擇了"+stu.courses.size()+"門課程");
for(Course cr:stu.courses){
System.out.println(cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SetTest st=new SetTest();
st.testAdd();
st.testforEach();
//創(chuàng)建一個學生對象
Student stu=new Student("101","小明");
System.out.println("歡迎學生"+stu.name+"來選課");
//創(chuàng)建一個Scanner對象
Scanner console=new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("請輸入課程ID");
String courseId=console.next();
for(Course cr:st.coursesToSelect){
if(cr.id.equals(courseId)){ ? //判斷輸入的課程id是否與備選課程匹配
stu.courses.add(cr); ?//將選擇的課程添加到課表里
stu.courses.add(cr);
}
}
}
//調(diào)用打印學生選課的信息
st.testforEachSet(stu);
}
}
2017-03-05
代碼貼出來看看