我有一门课需要在测试类中传递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