第十章作業

7509 ワード

第八題
コレクションのソートはjavaを使用できます.lang.Comparableインタフェースまたはjava.util.Comparatorインタフェースで実現します.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

//       comparable  
//class Plural implements Comparable {
//
//  private double x;
//  private double y;   
//  public double getX() {
//      return x;
//  }
//  public void setX(double x) {
//      this.x = x;
//  }
//  public double getY() {
//      return y;
//  }
//  public void setY(double y) {
//      this.y = y;
//  }
//  public Plural() {
//      x = 0; y = 0;
//  }
//  public Plural(double xx, double yy) {
//      x = xx; y = yy;
//  }
//  public void show() {
//      if(y == 0)
//          System.out.println(x);
//      else
//          System.out.println(x + " + " + y + "i");
//  }
//  @Override
//  public int compareTo(Plural o) {
//      // TODO Auto-generated method stub
//      return this.getX() < o.getX() ? -1 : 1 ;
//  }
//  
//}

//      Comparator
class Plural{

    private double x;
    private double y;   
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    public Plural() {
        x = 0; y = 0;
    }
    public Plural(double xx, double yy) {
        x = xx; y = yy;
    }

    public void show() {
        if (y == 0)
            System.out.println(x);
        else
            System.out.println(x + " + " + y + "i");
    } 
}
class PluralComparator implements Comparator {
    @Override
    public int compare(Plural o1, Plural o2) {
        return o1.getX() < o2.getX() ? -1 : 1;
    }
}
public class Q_8 {

    public static void main(String[] args) {
        List lst = new ArrayList<>();
        lst.add(new Plural(2.1, 3.5));
        lst.add(new Plural(1.4, 8.2));
        lst.add(new Plural(3.4, 2));

        //Collections.sort(lst, Collections.reverseOrder());
        //Collections.sort(lst);

        Comparator ascComparator = new PluralComparator();
//      Collections.sort(lst, ascComparator);
        Comparator descComparator = Collections.reverseOrder(ascComparator);
        Collections.sort(lst, descComparator);

        for(Plural p : lst)
            p.show();
    }

}

第十題
この問題は私はHashMapを使って保存して、Classをkeyにして、Stringをvalueにします
import java.util.HashMap;

class ExceptionCol{
    @SuppressWarnings("rawtypes")
    public HashMap hm = new HashMap<>();
    public ExceptionCol() {
        hm.put(NullPointerException.class, "     ");
        hm.put(ArithmeticException.class, "   0");
    }
    public void add(Class c, String s) {
        hm.put(c, s);
    }
}
public class Q_10 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ExceptionCol ec=  new ExceptionCol();
        Class c = NullPointerException.class;
        System.out.println(ec.hm.containsKey(c));
    }

}