编写程序:
   1、将原字符串中的子串<用&lt;来代替,子串>用&gt;来代替,比如输入字符串abc<%()>efg>><
      输出字符串abc&lt;%()&gt;&gt;&lt;
      (不能直接用string 类的replaceAll方法)
   2、水果箱(Box)可以用来存放各种不同的水果(Fruit)具体的水果包括苹果(Apple)、
      桔子(Orange)、梨(pear)等,不同的水果有不同的重量和颜色,我们可以向水果箱添加(add)
      取出水果(remove),还可以列出水果箱中不同水果和类、重量、颜色(list),请用OOP的编程
      思想(java实现上面的水果箱,并写出单元测试代码)

解决方案 »

  1.   

    大概是这样的:1。用string的charAt()方法,循环遍历。
                  2。用一个集合类三,比如用ArrayList,里面存放的对象就是了
      

  2.   

    第一题:
    public class Word {
      public static void main(String args[]){
      String a="aa<bb>cc";
      String b="";
      int flag=0;
    //  char c[]=a.toCharArray();  for(int i=0;i<a.length();i++){
        flag = 0;
        if (a.charAt(i) == '<') {
          b = b + "&lt";
          flag = 1;
        }
        if (a.charAt(i) == '>') {
          b = b + "&gt";
          flag = 1;
        }
        if (flag == 0) {
        b=b+a.charAt(i);
        }
      }
      System.out.println(a);
      System.out.println(b);
      }
    }
      

  3.   

    replaceAll不行不知道能不能用replaceFirst呢,多replace几次不就ok 了
      

  4.   

    1.
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;public class Word {
      public static void main(String args[])throws IOException{  String Str=null;
      String endStr="";
      int flag=0; 
    try {
                    System.out.println("Please keyboard input Expression: ");
                    BufferedReader br = new BufferedReader(new InputStreamReader(
                            System.in));
                    Str = br.readLine();
                } catch (IOException e) {
                    System.out.println(e.toString());
                }
      for(int i=0;i<Str.length();i++){
        flag = 0;
        if (Str.charAt(i) == '<') {
          endStr = endStr + "&lt";
          flag = 1;
        }
        if (Str.charAt(i) == '>') {
          endStr = endStr + "&gt";
          flag = 1;
        }
        if (flag == 0) {
        endStr=endStr+Str.charAt(i);
        }
      } 
      System.out.println(endStr);
      }
    }
      

  5.   

    oop是什么不明白 在下才疏学浅
      

  6.   

    oop是什么意思都不知道,很震惊你竟知道java!
      

  7.   

    第二个问题就是考虑面向对象的知识了,希望你能正确的定义类,方法和属性比如,定义一个基类水果类,以及苹果,桔子,梨等子类
    抽取出他们的共性及默认实现方法放在上层的水果类中
    特有的属性及方法在子类中实现实现每一个toString()方法以方便打印同时需要定义一个水果箱类,可以直接对java的容器类List进行包装来产生
    也就是水果箱类需要定义一个List属性来存放所有的水果List的add/remove/iterate方法直接通过水果箱类透出来给客户调用针对水果箱类的关键业务方法,也就是上面的add/remove/list方法设计相应的
    单元测试方法如testAdd1,testAdd2,testRemove,testList
    不过单元测试吗,基本是要用利用JUnit来写了替换<为&lt;假如不能用replaceAll,可以用replace或charAt方法循环替换啊
      

  8.   

    java写算法 不是很舒服。2题 我写下,看看,(没有机器调试,不保证对)public abstract class Fruit
    {
       String name;
       int color;//颜色最好是用1.5的枚举类型,可我不会
       float weight;   public static final String APPLE_NAME = "apple";   public static final String PEAR_NAME = "pear";   public static final int APPLE_ID = 0;
       public static final int PEAR_ID = 1;
       //下面几个函数我就部剧题写了
    <<get>><<set>>
      }public class Apple extends Fruit
    {    public Apple(int color,int weight)
        {
            this.color = color;
            this.weight = weight;       
        }}
    //其它水果一样
    //下面用到了switch,如果要去掉,可以看看《重构-改善现有代码设计>>
    public class FruitFactory
    {
        public static Fruit createFruit(int ID,int color ,float weight)
       {
         Fruit fruit = null;
          swithc(ID)
         {
            case Fruit.APPLE_ID: fruit = new Apple(color ,weight);
            case Fruit.PEAR_ID: fruit = new Pear(color ,weight);
          }
          return fruit;   }
       public static Fruit createFruit(String name,int color ,float weight)//基本同上,不写
         
    }
    public class Box
    {
        ArrayList fruitList
       public Box()
       {
          fruitList=new ArrayList();
       }
       public void addFruit(Fruit fruit)
       {
         if(fruitList !=null) fruitList.add(fruit);
       }//不想写了,差不多就是这样了。//通过ID来判断 种类就可以了。}
    如果需要进一步的解藕(就是 每加一种水果,就需要修改类Fruit )。需要反射机制了。
      

  9.   

    甚是迷惑于楼上的这位达人  对于一个刚接触java或是面向对象编程的新人来说 这面试题真的就是那么容易吗?
    事实上 这个题目对于一些人来说 最大的难点不是对象的概念,恐怕是实际动手写代码经验上的欠缺。
    很难想象 这位张真人的牛有多大? 起点有多高。  不知道这位牛人当初是否作过world这个程序 也许牛人直接搞操作系统内核去了?
      

  10.   

    <数据结构>,<opp编程思想>,学完再当程序员.
      

  11.   

    to  Preamble(Rubbish)
    兄弟学java不久,看了您的程序有一点不懂。请教一下。
    java在对fruit操作时不是可以自动识别是那个子类吗?为什么还要用id来判断?有什么好处