我有一門課需要在測試類中傳遞JUnit大小寫,因此方法名稱getNumberStudents需要保持不變。將變量從一個類傳遞到另一個類,而不更改方法名
public class Course {
private Students students = null;
public Course(Students students, Grades grades) {
this.students = students;
}
public int getNumberStudents() {
int numberStudents = 0;
numberstudents = students.getNumberStudents();
return numberStudents;
}
但是,我需要使用另一個類「學生」訪問數據。由於如何設置測試類,我無法修改此類中的方法簽名。有人可以告訴我如何將我在學生課程中打印出來的結果傳遞給課程課程嗎?
public class Students {
public Students(String studentsDb) {
try {
FileInputStream file = new FileInputStream(new File(studentsDb));
XSSFWorkbook workbook = new XSSFWorkbook(file);
int numberStudents = 0;
// Get first sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);
// Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
if (row.getRowNum() == 0) {
continue;
}
numberStudents = numberStudents + 1;
}
System.out.println(numberStudents);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
或者,有沒有更簡單的方法來做到這一點? 謝謝。
你好嗎'students.getNumberStudents();''時爲students'類型的'學生'但你的'學生'類沒有'getNumberStudents()'方法? 還是有更多的課? – Marcin
這是我遇到的絆腳石。 Eclipse告訴我在Students類中創建了一個'getNumberStudents()'方法,但是由於它是如何訪問數據庫的,我不能重命名public students(String studentsDb)。有沒有解決的辦法? – yodish
爲什麼你不能在學生類中添加一個實例變量'numstudents'並且讓你的構造函數集等於它從數據庫中獲得的數字? – Marcin