无法理解为什么方法不使用 JAVA 接口显示返回的字符串



编程新手。 使用接口处理作业。 我有一个显示主应用程序,它调用一个名为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

最新更新