嗨,我希望能为我正在努力的下一个任务提供一点方向/帮助..
提供两个实现ConsolePrint接口的类。
•一个名为SimplePrint
,它只是将提供的参数直接打印到控制台。
例如simplePrintObject.printInfo(“Heading this is not fancy”);
会输出:
标题不是花哨
•一个叫FancyPrint
。它应该使用StringTokenizer
或String.split()
来分解字符串。
字符串的第一部分应视为标题,其他部分应由输出中的制表符分隔。
e.g。 fancyPrintObject.printInfo(“Heading this is quite fancy”);
会输出:
*********** Heading **********
this is quite fancy
******************************
注意:无论标题的大小如何,您都应该让两个“已加星标”的行占用相同的宽度(例如,您可以假设标题字符串的最大长度为20,而第一个和最后一行将输出30个字符 - 在最后一行的情况下将为30 *。
提供一个名为ConsolePrintTest
的基本类,它将测试这两个类中的每一个。确保您的类可以处理空字符串和空字符串。
到目前为止,我按照指示写了我的界面:
public interface ConsolePrint
{
void printInfo(String infoToPrint);
}
使用Split.split
方法的小程序..
public class PrintTester {
public static void main(String args[]) {
String str = new String("\n\n**************Heading************** \n\n\t" +
"This Is Quite Fancy\n" +
"\n***********************************");
for (String retval: str.split(" ", 1)) {
System.out.println(retval);
}
}
}
但尝试按照两个班级的指示实现ConsolePrint
界面让我在阅读和搜索几天后难过!
答案 0 :(得分:2)
按字面意思阅读:你必须写两个类。
public class SimplePrint implements ConsolePrint {
public void printInfo(String infoToPrint) {
// method implementation here
}
}
public class FancyPrint implements ConsolePrint {
public void printInfo(String infoToPrint) {
// method implementation here
}
}
和测试驱动程序:
public class ConsolePrintTest {
public static void main(String [] args) {
ConsolePrint printer = null;
// figure out how to instantiate different types.
for (String arg : args) {
printer.printInfo(arg);
}
}
}