字符串拆分,Java

时间:2014-11-30 15:45:00

标签: java string

嗨,我希望能为我正在努力的下一个任务提供一点方向/帮助..

提供两个实现ConsolePrint接口的类。

•一个名为SimplePrint,它只是将提供的参数直接打印到控制台。 例如simplePrintObject.printInfo(“Heading this is not fancy”);会输出:

  

标题不是花哨

•一个叫FancyPrint。它应该使用StringTokenizerString.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界面让我在阅读和搜索几天后难过!

1 个答案:

答案 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);
        }
    }
}