اشکال هندسی
سه شنبه, ۱۳ آبان ۱۳۹۹، ۱۱:۵۶ ب.ظ
مشکل: وقتی double 5 بود 5.0 چاپ می کردم!
\\Shape.java
package ir.javacup.paint;
import java.util.*;
public class Shape {
	Color color;
	Pattern pattern;
	public Shape(Color c, Pattern p) {
		this.color = c;
		this.pattern = p;
	}
	
	
	protected String tell()
	{
		return String.format("[color:%s, pattern:%s, ",this.color,this.pattern);
	}
	
	protected boolean comp(Shape a,Shape b)
	{
		if((a.color)==(b.color) && a.pattern==b.pattern)
			return true;
		return false;
	}
}
enum Color {
	BLUE, GREEN, RED
}
enum Pattern {
	DOTTED, STRIPED, ZIGZAG
}
\\circle
package ir.javacup.paint;
import java.text.DecimalFormat;
public class Circle extends Shape {
	Double radius;
	public Circle(Color c, Pattern p, double r) {
		super(c, p);
		this.radius = r;
	}
	
	@Override 
	public String toString()
	{
		DecimalFormat format = new DecimalFormat("0.#");
	//	String a=String.valueOf(b);
		return "Circle"+this.tell()+"radius:"+format.format(radius)+"]";
	}
	
	public boolean equals(Circle obj)
	{
		if(obj==null || this==null) return false;
		
		System.out.println("hey here first radius:");
	//	System.out.println(Double.valueOf(this.radius));
		
		//System.out.println("sec radius:");
		//System.out.println(Double.v.valueOf(obj.radius));
		System.out.println();
		
		if((this.radius).doubleValue()==(obj.radius).doubleValue() && comp(obj,this))
			return true;
		
		return false;
	}
}
package ir.javacup.paint;
public class Square extends Shape {
	Integer length;
	public Square(Color c, Pattern p, int length) {
		super(c, p);
		this.length = length; // autoboxing
	}
	@Override 
	public String toString()
	{
		return "Square"+this.tell()+"length:"+length.toString()+"]";
	}
	
	public boolean equals(Square obj)
	{
		if(obj==null || this==null) return false;
		
		
		if(this.length==obj.length && comp(obj,this))
			return true;
		
		return false;
	}
}
۹۹/۰۸/۱۳
