⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swimmernosex.java

📁 java原型模式实例的代码
💻 JAVA
字号:
class SwimmerNoSex extends SwimData {
  public SwimmerNoSex(String fileName) {
      super(fileName);
  }

  public void sortByTime() {
  }
}

class SwimData implements Cloneable, Serializable {
  protected Vector swimmers;

  public SwimData(String filename) {
    String s = "";
    swimmers = new Vector();
    InputFile f = new InputFile(filename);
    s = f.readLine();
    while (s != null) {
      swimmers.addElement(new Swimmer(s));
      s = f.readLine();
    }
    f.close();
  }

  
  public int size() {
    return swimmers.size();
  }

  
  public Swimmer getSwimmer(int i) {
    if ((i >= 0) && (i < swimmers.size()))
      return (Swimmer) swimmers.elementAt(i);
    else
      return null;
  }

  
  public void sortByTime() {
    Swimmer sw;
    int i, j;
    int max = swimmers.size();
    Swimmer sd[] = new Swimmer[max];
    for (i = 0; i < max; i++)
      sd[i] = (Swimmer) swimmers.elementAt(i);
    for (i = 0; i < max; i++) {
      for (j = i; j < max; j++) {
        if (sd[i].getTime() > sd[j].getTime()) {
          sw = sd[i];
          sd[i] = sd[j];
          sd[j] = sw;
        }
      }
    }
    // swimmers = new Vector();
    swimmers.removeAllElements();
    for (i = 0; i < max; i++)
      swimmers.addElement(sd[i]);
  }

  
  public Object deepClone() {
    try {
      ByteArrayOutputStream b = new ByteArrayOutputStream();

      ObjectOutputStream out = new ObjectOutputStream(b);

      out.writeObject(this);
      ByteArrayInputStream bIn = new ByteArrayInputStream(b.toByteArray());

      ObjectInputStream oi = new ObjectInputStream(bIn);

      return (oi.readObject());
    } catch (Exception e) {
      System.out.println("exception:" + e.getMessage());
      e.printStackTrace();
      return null;
    }

  }

  
  public Object clone() {
    try {
      return super.clone();
    } catch (Exception e) {
      System.out.println(e.getMessage());
      return null;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -