编程新手。 使用接口处理作业。 我有一个显示主应用程序,它调用一个名为count的CountUtil类方法,该方法使用Countable作为参数(CountUtil.count(a,count(;[第 21 行] 在我声明 a 作为鳄鱼对象之后(。 Alligator 实现了 Countable 接口。
CountUtil.count 方法应使用 Alligator resetCount(( 方法重置计数变量,在 while 循环中打印出 getCountString(( 方法的返回值至少为 4,并增加计数。
我无法让getCountString((方法来显示while循环返回的字符串,也无法弄清楚原因。 任何反馈都会有所帮助。 谢谢。
public class DisplayableTestApp {
public static void main(String args[]) {
BellHeading.getHeading("Assignment 8 - Processing Interfaces");
countAlligators();
//countSheep();
//countMyself;
//endItAll;
}
public static void countAlligators() {
int count = 4;
System.out.printf(" Counting alligators... I see %dn", count);
Alligator a = new Alligator();
CountUtil.count(a, count);
}
//public static void countSheep() {
// System.out.printf(" Counting sheep... I see ");
//}
}
鳄鱼类
public class Alligator implements Countable {
private int count; //declaring integer
public Alligator (){ //constructor
count = 1; //initializing variable
}
@Override //implementation of Countable interface
public void incrementCount() {
count++;
}
@Override //implementation of Countable interface
public void resetCount() {
count = 1;
}
@Override //implementation of Countable interface
public int getCount() {
return count;
}
@Override //implementation of Countable interface
public String getCountString() {
return String.format(" %d alligatorn",count);
}
}
计数实用类
public class CountUtil {
public static void count(Countable c, int maxCount) {
c.resetCount();
while (c.getCount() <= maxCount){
c.getCountString();
c.incrementCount();
} //end while loop
} //end count method
} //end CountUtil class
可数接口
public interface Countable {
void incrementCount();
void resetCount();
int getCount();
String getCountString();
}
您尚未在任何地方打印计数。按如下方式更改CountUtil
类
public class CountUtil {
public static void count(Countable c, int maxCount) {
c.resetCount();
while (c.getCount() <= maxCount) {
System.out.println(c.getCountString()); // Printing...
c.incrementCount();
} // end while loop
} // end count method
} // end CountUtil class