2016-08-19 39 views
-2

這些單元測試僅打印測試問題的消息。如果你的代碼是正確的,那麼單元測試會在沒有任何成功消息的情況下靜靜地成功。我需要讓這個燈亮沒有任何錯誤信息。我不確定我在做什麼錯,我是一個相當新的程序員,所以在這裏忍受着我。這是GetCourseByCourseID方法,我正在處理問題。我不應該對CourseList以外的任何類進行更改。特別是GetCourseByCourseID方法。多態數組的問題Java

class CourseList 
{ 
public Course[] CourseArray = 
{ 
    new Course ("CIS 400", "OO Analysis & Design", 4, "Important class", "CIS 110") , 
    new Course ("CIS 150A" , "VB.NET Programming", 4, "Good Introduction to programming", "CIS 100") , 
    new Course ("CIS 150B", "C# Programming with labs", 4, "Follow-up to CIS 100", "CIS 100") 
}; 


    public Course GetCourseByCourseID(String id) 
    { 

    for (Course C : CourseArray) 
    { 

    } 
    return null; 
    } 
} 




class CourseListTest 
{ 
    public static void main(String[] args) 
    { 
    GetCourseByCourseIDTestWhenCourseExists(); 
    GetCourseByCourseIDTestWhenCourseDoesNotExist(); 
    } 


public static void GetCourseByCourseIDTestWhenCourseExists() 
{ 

    CourseList myCourseList = new CourseList(); 
    Course myCourse = myCourseList.GetCourseByCourseID("CIS 400"); 
    if (myCourse.CourseID != "CIS 400") 
     System.out.println("ERROR - GetCourseByCourseIDTestWhenCourseExists(): Returned CourseID Not equal (CIS 400)"); 
} 

public static void GetCourseByCourseIDTestWhenCourseDoesNotExist() 
{ 

    CourseList myCourseList = new CourseList(); 
    Course myCourse = myCourseList.GetCourseByCourseID("CIS 101"); 
    if (myCourse != null) 
     System.out.println("ERROR - GetCourseByCourseIDTestWhenCourseDoesNotExist(): should have returned null"); 
} 
} 



class Course 
{ 
public Course(String id, String title, int creditHours, String description, String prerequisiteCourse) 
{ 
    this.CourseID = id; 
    this.CourseTitle = title; 
    this.CreditHours = creditHours; 
    this.Description = description; 
    this.PrerequisiteCourse = prerequisiteCourse; 
} 


public String CourseID; 
public String CourseTitle; 
public int CreditHours; 
public String Description; 
public String PrerequisiteCourse; 
+1

這不是[Puzzling.SE](http://puzzling.stackexchange.com/);不要讓我們猜測。使用最少量的代碼來重現問題,從而全面解釋您的問題以及您正在嘗試完成的內容。 – Gendarme

+0

不符合Java編碼標準的醜陋,無法讀取的代碼。 – duffymo

回答

0

的練習的目標是驗證GetCourseByCourseID(String id)方法返回Course對應於指定課程ID或null如果沒有這樣的過程退出。爲了達到這個目的,你必須循環所有已知的課程,並將每個課程的ID與參數id進行比較。如果發現匹配,當然是返回給調用者,否則該方法返回null

public Course GetCourseByCourseID(String id) { 

    for (Course C : CourseArray) { 
     if (C.CourseID.equals(id)) { 
      return course; 
     } 
    } 
    return null; 
} 

我同意其他海報。從長遠來看,編寫原始代碼的人對你沒有任何好處。它寫得很差,絕對不符合標準。如果你寫這樣的代碼,你會有很多不好的習慣以後忘記。