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

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

大神大神來瞅瞅,這是何方妖孽在作怪

按照老師講的打出來之后,老師的正常運轉,我的出現(xiàn)了這樣的結果

有如下課程待選(通過for each訪問):

課程:2:C語言

課程:1:數(shù)據(jù)結構

課程:5:高等數(shù)學

課程:6:大學英語

課程:3:離散數(shù)學

課程:4:匯編語言

歡迎學生:小明選課!

請輸入課程ID

2

請輸入課程ID

5

請輸入課程ID


6

共選擇了:3門課程!

選擇了課程6:大學英語

選擇了課程2:C語言

選擇了課程5:高等數(shù)學

請輸入學生已選的課程名稱:

高等數(shù)學

新創(chuàng)建課程:高等數(shù)學

Exception in thread "main" java.lang.NullPointerException

at com.imooc.cellection.SetTest.testSetContains(SetTest.java:132)

at com.imooc.cellection.SetTest.main(SetTest.java:144)

這是什么情況呀?????

正在回答

5 回答

創(chuàng)建學生對象并選課方法里面看一下是這一句student = new Student("1", "小明");而不是Student?student = new Student("1", "小明");這一句么,前一句是對的,后一句是錯的

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

太多了 不看了

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

在你的?testSetContains 方法中??System.out.println("備選課程是否包含課程:"+course2.name+","+student.courses.contains(course2));

這句代碼中的student 沒有進行初始化,就去讀取它的courses,肯定會報空指針的錯誤

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

慕哥8045220 提問者

嗯嗯,謝謝
2017-09-18 回復 有任何疑惑可以回復我~
#2

九尾猿 回復 慕哥8045220 提問者

如果問題解決了,請采納~謝謝
2017-09-18 回復 有任何疑惑可以回復我~

package com.imooc.cellection;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.Scanner;


public class SetTest {

public List<Course>coursesToSelect;

private Scanner console;?

public Student student;

public SetTest(){

coursesToSelect = new ArrayList<Course>();

console = new Scanner(System.in); ?//初始化

}

public void testAdd(){

//創(chuàng)建一個課程對象,并通過調用add方法,添加到備選課程List中

Course cr1 = new Course("1","數(shù)據(jù)結構");

coursesToSelect.add(cr1);

Course temp = (Course)coursesToSelect.get(0);

// 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);

// coursesToSelect.add(cr1);

// Course temp0 = (Course)coursesToSelect.get(2);

// System.out.println("添加了課程:"+temp.id+":"+temp0.name);

//以下方法會拋出數(shù)組下標越界異常

// Course cr3 = new Course("3","test");

// coursesToSelect.add(4,cr3);

Course[] course = {new Course("3","離散數(shù)學"),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[] course2 = {new Course("5","高等數(shù)學"),new Course("6","大學英語")};

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方法訪問集合元素

* for each方法是迭代器方法的簡便寫法

*/

public void testForEach(){

System.out.println("有如下課程待選(通過for each訪問):");

for(Object obj:coursesToSelect){

?Course cr = (Course)obj;

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

}

}

/*

* 測試List的contains方法

*/

public void testListContains(){

//取得備選課程序列的第0個元素

Course course = coursesToSelect.get(0);

//打印輸出coursesToSelected是否包含course對象

System.out.println("取得課程:"+course.name);

System.out.println("備選課程中是否包含課程:"+course.name+","

? ?+coursesToSelect.contains(course)); ?//某個序列是否包含某個對象,如果包含,返回true,否側返回false!

//提示輸入課程名稱

System.out.println("請輸入課程名稱:");

String name = console.next(); //從鍵盤中取得輸入的字符串

//創(chuàng)建一個新的課程對象,ID和名稱,與course對象完全一樣

// Course course2 = new Course(course.id,course.name);

//創(chuàng)建course2對象

Course course2 = new Course();

//調用無參構造器

course2.name = name;

System.out.println("新創(chuàng)建課程:"+course2.name);

System.out.println("備選課程中是否包含課程:"+course2.name+","+coursesToSelect.contains(course2));

//通過indexOf方法來取得某元素的需哦吟位置

if(coursesToSelect.contains(course2)){

System.out.println("課程:"+course2.name+"的索引位置為:"+

? ? ? coursesToSelect.indexOf(course2));

}

}

//創(chuàng)建學生對象并選課

public void createStudentAndSelectCours(){

//創(chuàng)建一個學生對象

Student student = new Student("1","小明");

System.out.println("歡迎學生:"+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:coursesToSelect){

if(cr.id.equals(courseId)){

student.courses.add(cr); //set.add();和List.add();方法的用法是一樣的

/*

* Set中,添加某個對象,無論添加多少次,

* 最終只會保留一個該對象(的引用)

* 并且,保留的是第一次添加的那一個

* Set中是可以添加愛空對象null的

*/

// student.courses.add(null);

// student.courses.add(cr);?

}

}

}

System.out.println("共選擇了:"+student.courses.size()+"門課程!");

//打印輸出學生所選的課程

for(Course c : student.courses){

System.out.println("選擇了課程"+c.id+":"+c.name);

}

}


/*

* 測試Set的contains方法

*/

public void testSetContains(){

//提示輸入課程名稱

System.out.println("請輸入學生已選的課程名稱:");

String name = console.next();

//創(chuàng)建一個新的課程對象,ID和名稱,與course對象完全一樣

Course course2 = new Course();

course2.name = name;

System.out.println("新創(chuàng)建課程:"+course2.name);

System.out.println("備選課程是否包含課程:"+course2.name+","+student.courses.contains(course2));

}

public static void main(String[] args) {

// TODO Auto-generated method stub


SetTest st = new SetTest();//創(chuàng)建一個SetTest方法

st.testAdd();

// st.testListContains();

st.testForEach();


st.createStudentAndSelectCours();

st.testSetContains();

// st.testForEachForSet(student);

}

public void testForEachForSet(Student student){

//打印輸出,學生所選的課程!

System.out.println("共選擇了:"+ student.courses.size()+"門課程!");

for(Course cr:student.courses){

System.out.println("選擇了課程:"+cr.id+":"+cr.name);

}

? ? }

}

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

請把你的代碼貼出來。。。

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

舉報

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

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

進入課程

大神大神來瞅瞅,這是何方妖孽在作怪

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

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

幫助反饋 APP下載

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

公眾號

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