为了账号安全,请及时绑定邮箱和手机立即绑定

编译报错求解答。


package com.imooc.collection;


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


/**
 * 学生类
 * @author 鹏
 *
 */
public class Student {
 public String id;
 public String name;
 //定义一个存放选择的课程的集合
 public Set<String> Courses;
 //定义一个构造器来传入id,name和Course
 public Student(String id,String name){
  this.id=id;
  this.name=name;
  this.Courses=new HashSet<String>();//将选择的课程集合实例化
 }


}

2.

package com.imooc.collection;


/**
 * 课程类
 * @author 鹏
 *
 */
public class Course {
 //定义两哥公用的Course的属性
 public String id;
 public String name;
 //创建一个构造器,令我们输入的id+name传入Course里面
 public Course(String id,String name){
  this.id=id;
  this.name=name;
 }
 public Course(){
  
 }


}

3.

package com.imooc.collection;


public class ChildCourse extends Course {


}

4.

package com.imooc.collection;


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


public class SetText {
 
 public List<Course> coursesToselect;
 
 public SetText(){
  coursesToselect =new ArrayList<Course>();
 }
 
 public void add(){
  Course cr1 = new Course("1","程序设计基础");
  coursesToselect.add(cr1);
  Course cr2 = new Course("2","计算机网络");
  coursesToselect.add(cr2);
  Course cr3 = new Course("3","数据结构");
  coursesToselect.add(cr3);
  Course cr4 = new Course("4","高数");
  coursesToselect.add(cr4);
  Course cr5 = new Course("5","线代");
  coursesToselect.add(cr5);
  Course cr6 = new Course("6","概率论与数理统计");
  coursesToselect.add(cr6);
  Course cr7 = new Course("7","大学英语");
  coursesToselect.add(cr7);
  Course cr8 = new Course("8","马原");
  coursesToselect.add(cr8);
 }
 
 public void ForEach(){
  for (Course course : coursesToselect) {
   System.out.println("课程:"+course.id+":"+course.name);
  }
 }
 
 public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Student student = new Student("1","小明");
  System.out.println("欢迎"+student.name+"同学来选课");
  System.out.println("\n可以被选择的课程有:");
  SetText H = new SetText();
  H.add();
  H.ForEach();
  Scanner in=new Scanner(System.in);
  for(int i = 0;i<3;i++){
   System.out.println("请输入课程的ID:");
   String courseid = in.next();
   for (Course cr : H.coursesToselect) {
    if(cr.id.equals(courseid)){
     student.Courses.add(cr);
    }
   }
  }
  


 }
 
 public void TextForEach(Student student){
  for (Course cr : student.Courses) {
   System.out.println("选择了课程:"+cr.id+":"+cr.name);
  }
 }


}

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

正在回答

1 回答

应该把Student 类里面的

//定义一个存放选择的课程的集合
 public Set<String> Courses;

改为 public Set<Course> Courses; 

注意:你放的泛型应该为Course 类型

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

Destiny命运 提问者

非常感谢!
2016-08-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

编译报错求解答。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信