長方形二つを定義して、それらが接触してるか判定するソース

Perlの初歩を学んだところでJavaに手を出してみた。


Rectangle.java

class Rectangle{
	double x;
	double y;
	double w;
	double h;
	
	public Rectangle(double m_x, double m_y, double m_w, double m_h ){
		x = m_x;
		y = m_y;
		w = m_w;
		h = m_h;
	}
	public double calcArea(){
		return w * h;
	}
}


Check.java

class Check{
	byte hit;
	
	public Check(double a1, double b1,double a2, double b2){
		if(a1 <= a2){
			if(a2 <= a1 + b1){
				hit = 1;
			}
		}
		else{
			if(a1 <= a2 + b2){
				hit = 1;
			}
		}
	}
}


Test.java

import java.io.*;
class Test{
	public static void main(String[] args){
		Rectangle my_rec = new Rectangle(30,20,40,10);
		Rectangle my_rec2 = new Rectangle(30,40,30,30);
		
		System.out.println("物体A");
		System.out.println("x: " + my_rec.x + " y: " + my_rec.y);
		System.out.println("底辺: " + my_rec.w + " 高さ: " + my_rec.h + " 面積: " + my_rec.calcArea());
		
		System.out.println("");
		
		System.out.println("物体B");
		System.out.println("x: " + my_rec2.x + " y: " + my_rec2.y);
		System.out.println("底辺: " + my_rec2.w + " 高さ: " + my_rec2.h + " 面積: " + my_rec2.calcArea());
		
		System.out.println("");
		
		Check hit_x = new Check(my_rec.x, my_rec.w, my_rec2.x, my_rec2.w);
		Check hit_y = new Check(my_rec.y, my_rec.h, my_rec2.y, my_rec2.h);
		
		if(hit_x.hit + hit_y.hit == 2){
			System.out.println("物体A・Bは接触しています。");
		}
		else{
			System.out.println("物体A・Bは離れています。");
		}
	}


クラスとかメソッドとかがまだ身についてなくて苦労した…
" hit_x.hit "使う所を" hit_x "だけでやろうとしてコンパイル失敗しまくりor2