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

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

使用set'集做練習時,運行結果更像是棧

package?com.imooc.collection;

import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.List;
import?java.util.Scanner;

public?class?SetTest?{

	public?List<Course>?coursesToSelect;
	
	public?SetTest(){
		coursesToSelect?=?new?ArrayList<Course>();
	}
	
	public?void?add(){
		?Course?cr1?=?new?Course("1",?"數據結構");
		?coursesToSelect.add(cr1);
		?Course?temp?=?(Course)?coursesToSelect.get(0);
		?//System.out.println("課程id:"+temp.id+"課程名字:"+temp.name);
		?
		?Course?cr2?=?new?Course("2",?"C++");
		?coursesToSelect.add(0,?cr2);
		?Course?temp2?=?(Course)?coursesToSelect.get(0);
		?//System.out.println("課程id:"+temp2.id+"課程名字:"+temp2.name);
		?
		?//以下方法會拋出數組下標越界異常
		?/*Course?cr3?=?new?Course("3",?"java");
		?coursesToSelect.add(3,?cr3);*/
		?
		?Course[]?course??=?{new?Course("3",?"離散數學"),?new?Course("4",?"匯編語言")};
		?coursesToSelect.addAll(Arrays.asList(course));
		?
		?Course?temp3?=?(Course)?coursesToSelect.get(2);
		?Course?temp4?=?(Course)?coursesToSelect.get(3);
//		?System.out.println("添加了兩門課程:"?+?temp3.id?+?":"?+
//				?temp3.name?+?";"?+?temp4.id?+?":"?+?temp4.name);
		?
		?Course[]?course1??=?{new?Course("5",?"高等數學"),?new?Course("6",?"大學英語")};
		?coursesToSelect.addAll(2,?Arrays.asList(course1));
		?
		?Course?temp5?=?(Course)?coursesToSelect.get(2);
		?Course?temp6?=?(Course)?coursesToSelect.get(3);
//		?System.out.println("添加了兩門課程:"?+?temp5.id?+?":"?+
//				?temp5.name?+?";"?+?temp6.id?+?":"?+?temp6.name);
	?}
	
	public?void?TestGet(){
		?int?size?=?coursesToSelect.size();
		?System.out.println("有如下課程待選:");
		?for(int?i?=?0;?i?<?size;?i++){
			?Course?cr?=?(Course)?coursesToSelect.get(i);
			?System.out.println("課程:"+cr.id+":"+cr.name);
		?}
	?}
	
	public?void?TestForeach(){
		?for(Object?obj?:?coursesToSelect){
			?Course?cr?=?(Course)?obj;
			?System.out.println("課程:"+cr.id+":"+cr.name);
		?}
	?}
	
	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		SetTest?st?=?new?SetTest();
		st.add();
		st.TestForeach();
		Student?sd?=?new?Student("1",?"小明");
		
		System.out.println("歡迎"+sd.name+"選課!");
		
		Scanner?sc?=?new?Scanner(System.in);
		
		for?(int?i?=?0;?i?<?3;?i++)?{
			System.out.println("請輸入課程ID:");
			String?courseId?=?sc.next();
			for?(Course?cr?:?st.coursesToSelect)?{
				if(cr.id.equals(courseId))?{
					sd.courses.add(cr);
					sd.courses.add(cr);
				}
			}
		}
		
		st.forEachCourse(sd);

	}
	
	public?void?forEachCourse(Student?sd){
		
		for?(Course?cr?:?sd.courses?)?{
			System.out.println(sd.name+"選的課程為:"+cr.id+cr.name);
		}
	}

}

package?com.imooc.collection;

/*
?*?
?*/
public?class?Course?{

	public?String?id;
	
	public?String?name;
	
	public?Course(String?id,?String?name)?{
		this.id?=?id;
		
		this.name?=?name;
	}
}

package?com.imooc.collection;

import?java.util.HashSet;
import?java.util.Set;

/*
?*?學生類
?*/
public?class?Student?{

	public?String?id;
	public?String?name;
	public?Set<Course>?courses;
	
	public?Student(String?id,?String?name){
		this.id?=?id;
		this.name?=?name;
		this.courses?=?new?HashSet<Course>();
	}
}

我的感覺更像是棧,求解是怎么回事,最后輸入的最先輸出,重新執行還是這樣子 有如下課程待選: 課程:2:C++ 課程:1:數據結構 課程:5:高等數學 課程:6:大學英語 課程:3:離散數學 課程:4:匯編語言 歡迎小明選課! 請輸入課程ID: 1 請輸入課程ID: 2 請輸入課程ID: 3 小明選的課程為:3離散數學 小明選的課程為:2C++ 小明選的課程為:1數據結構

正在回答

1 回答

我也是

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

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

使用set'集做練習時,運行結果更像是棧

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

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

幫助反饋 APP下載

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

公眾號

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