如果传入的值类别是数值时,返回的结果是各个数值的总和如果传入的值类别是字符串时,返回的结果是连接后的字符串如果传入的值类别是货币(自己定义的,可以有美元,日元,人民币等)时,返回的结果是货币的总和。同时,也可传入美元和货币,然后得出人民币的值。如果传入的值类别是数组,则返回累加后的数组
不用具体代码,就是用语言或简单字母来描述程序结构,以便更好理解好的编成思想。

解决方案 »

  1.   

    instanceof 来处理吧,功能很清晰,不需要整那么多类和接口..
      

  2.   

    泛型:
    public <T> void readData(T... a){}
    数据 ----> readData()
    判断T的具体类型,分别处理方法多态:
    public void readData(String a) {//针对String的处理}
    public void readData(Integer a) {//针对Integer的处理}
    public void readData(Double a) {//针对Double的处理}
    public void readData(String[] a) {//针对String数组的处理}
    而你不过什么数据,用同一个名字的方法readData
    就是对应上相应的方法了,这是面向对象
      

  3.   


    总觉得他那个还是面向过程。其实是这样,我看到一个考试题,列出了一段程序,中间会有几处空白问应该填什么。问题倒不难,但是这段程序的写法是我所不熟悉的。
    程序的逻辑大致是这样:
     有1至10的英文数字(one two three……),把开头为t的在控制台打出来。
    不知道大家看到这样的需求会去怎么写代码,但估计大多人和我想的都差不多。那道考试题是继承Iterator和Iterable,用了我所不熟悉的构思写的程序。最后在main方法中像以下代码这样输出。ExtractionStringStartsEvaluator都是自己的实现类。List<String> target = 
                 Arrays.asList(“one”, “two”, “three”, “four”, “five”, 
    “six”, “seven”, “eight”, “nine”, “ten”);
    Extraction<String> e = new Extraction<String>
               (target, new StringStartsEvaluator(“t”));
        for (String s : e) {
        System.out.println(s);
    }
      

  4.   


    我描述下你的结构把
    你是想这样?interface Money {
    public void sumMoney();
    }
    class RMB implements Money {
    public void sumMoney() {
    //具体实现怎么加人民币
    }
    }
    class Dollars implements Money {
    public void sumMoney() {
    //具体实现怎么加美元
    }
    }
    class Euro implements Money {
    public void sumMoney() {
    //具体实现怎么加欧元
    }
    }
      

  5.   

    方法多态就行了 
    无论如何也是要区分传入类型的 
    用接口还得弄个工厂方法
    工厂方法不还是得 方法多态或者instance of除非你还要封装很多其他操作
    否则一个操作方法多态就够了
      

  6.   


    要你实现Extraction类和StringStartsEvaluator是吧?
    Extraction这不就是泛型嘛……
      

  7.   

    其实Extraction类和StringStartsEvaluator代码我都有,不是让我实现,只是我看到这个需求后,按我自己逻辑,写个方法f1(字符串数组, 开头字母)也就OK了,但人家写出的代码继承Iterator和Iterable,然后main方法中用的时候直接
    for (String s : e) {
    System.out.println(s);
    }
    就出来了,跟我的思路完全不一样。倒也不是说就是范型,其实原本接口这方面就没怎么用过(用的无非就是现成的框架),也可以说从来没做过设计,我估计多数人可能也和我差不多吧(当然比我强的一定也很多)。一直也没搞懂这个接口什么的该怎么用起来,所以自个琢磨了这个需求。
      

  8.   


    原来是这样啊,人家为了用for each这种语法结构而实现了Iterable接口
    这个其实很多类似的地方可以注意到的
    比如你写一个类,你可以让它实现Comparable接口,然后
    你就可以用Arrays.sort()方法直接对它进行排序了不过还是那句话,不要为了接口而接口
    当你哪一天,你突然发现你的某些已经继承了不同父类的子类要在某种程度上统一管理
    这个时候,你就会发现接口能派上用场了