2015-01-24

class Obj{
	HashMap<String,Double> v = new HashMap<>();
	public double distance(Obj o){
		double s = 0;
		for(String k:v.keySet()){
			s += (o.v.containsKey(k))?(Math.pow(o.v.get(k)-v.get(k),2)):(0);
		}
		if(s == 0)return 0;
		return Math.sqrt(s);
	}
}
		
		Obj p1 = new Obj();
		Obj p2 = new Obj();
		p1.v.put("X",1.0);
		p1.v.put("Y",2.0);
		p1.v.put("Z",3.0);
		
		p2.v.put("X",3.0);
		p2.v.put("Y",4.0);
		p2.v.put("Z",5.0);
		
		
		System.out.println(p1.distance(p2));

ううううつくしい!

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん