第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

請問為什么出錯了?這個錯誤什么意思?

package com.test.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(){
?? ??? ?this.coursesToSelect = new ArrayList<Course>();
?? ?}?? ?
?? ?public void testAdd(){
?? ??? ?//創(chuàng)建一個課程對象,并通過調(diào)用add方法,添加到備選課程List中
?? ??? ?Course cr1 = new Course("1","數(shù)據(jù)結(jié)構(gòu)");
?? ??? ?coursesToSelect.add(cr1);
?? ??? ?Course temp = (Course)coursesToSelect.get(0);//一個對象存入集合會變成Object類,取出時需類型轉(zhuǎn)換
?? ??? ?//System.out.println("添加了課程:"+temp.id+":"+temp.name);
?? ??? ?
?? ??? ?Course cr2 = new Course("2","C語言");
?? ??? ?coursesToSelect.add(0, cr2);
?? ??? ?Course temp2 = (Course)coursesToSelect.get(0);
?? ??? ?//System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
?? ??? ?
?? ??? ?//List中的元素是可以重復(fù)的
?? ???? //coursesToSelect.add(cr1);
?? ??? ?//Course temp0 = (Course)coursesToSelect.get(2);
?? ??? ?//System.out.println("添加了課程:"+temp0.id+":"+temp0.name);
?? ??? ?
?? ??? ?//以下方法會拋出數(shù)組下標(biāo)越界異常
?? ??? ?//Course cr3 = new Course("3","test");
?? ??? ?//coursesToSelect.add(4,cr3);
?? ??? ?
?? ??? ?Course[] course = {new Course("3","離散數(shù)學(xué)"),new Course("4","匯編語言")};
?? ??? ?coursesToSelect.addAll(Arrays.asList(course));
?? ??? ?Course temp3 = (Course)coursesToSelect.get(3);
?? ??? ?Course temp4 = (Course)coursesToSelect.get(4);
?? ??? ?//System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
?? ??? ?
?? ??? ?Course[] course2 = {new Course("5","高等數(shù)學(xué)"),new Course("6","大學(xué)英語")};
?? ??? ?coursesToSelect.addAll(2, Arrays.asList(course2));
?? ??? ?Course temp5 = (Course)coursesToSelect.get(2);
?? ??? ?Course temp6 = (Course)coursesToSelect.get(3);
?? ???? //System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);
?? ?}
/**
* 通過for each方法訪問集合元素
*/
?? ?public void testForEach(){
?? ??? ?System.out.println("有如下課程待選(通過for each訪問):");
?? ??? ?for(Course cr:coursesToSelect){
?? ??? ??? ?System.out.println("課程:"+cr.id+":"+cr.name);
?? ??? ?}
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?SetTest st = new SetTest();
?? ??? ?st.testAdd();
?? ??? ?st.testForEach();
?? ??? ?//創(chuàng)建一個學(xué)生對象
?? ??? ?Student student = new Student("1","小明");
?? ??? ?System.out.println("歡迎學(xué)生:"+student.name+"選課!");
??????? //創(chuàng)建一個Scanner對象,用來接收從鍵盤輸入的課程ID
?? ??? ?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)){
?? ??? ??? ??? ??? ?student.courses.add(cr);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}
?? ??? ?st.testForEachForSet(student);
?? ?}
?? ??? ?
?? ?public void testForEachForSet(Student student){
?? ??? ?//打印輸出學(xué)生所選的課程
?? ??? ?for (Course cr : student.courses) {
?? ??? ??? ?System.out.println("選擇了課程:"+cr.id+cr.name);
?? ??? ?}
?? ?}
}

http://img1.sycdn.imooc.com//57be4ec70001dbdc09100132.jpg

正在回答

1 回答

?Course[] course = {new Course("3","離散數(shù)學(xué)"),new Course("4","匯編語言")};
?? ??? ?coursesToSelect.addAll(Arrays.asList(course));
?? ??? ?Course temp3 = (Course)coursesToSelect.get(3);
?? ??? ?Course temp4 = (Course)coursesToSelect.get(4);
?? ??? ?//System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);

對于這一段代碼,你前邊注釋掉了一些東西,里邊的元素個數(shù)減少了

造成了數(shù)組下標(biāo)越界

可以把get(3)改成get(2)

get(4)改成get(3)

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Yatee 提問者

嗯嗯好的 謝謝你!!
2016-08-25 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

請問為什么出錯了?這個錯誤什么意思?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號