2017-08-10 31 views
-1

我正在使用java.awt.Rectangle类和交集方法。如何从矩形交点获取单个数字

Rectangle rect1 = new Rectangle(1, 2, 3, 4); 
Rectangle rect2 = new Rectangle(2, 3, 4, 5); 
Rectangle intersection = rect1.intersection(rect2); 
System.out.println(intersection); 

输出是:

java.awt.Rectangle[x=2,y=3,width=2,height=3] 

如何获得每个人多少?例如将答案分配给变量x = hellowidth = hi。我想格式化输出为:

Intersection: (2.0, 3.0, 2.0, 3.0) 
+0

你检查了[documentation](https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle.html)吗? – shmosel

+0

我通过玩弄得到答案.. 它'intersection.width' 但是,你如何转换,所以'矩形'接受浮动。文档说'Rectangle(int,int,int,int)'。 – futilecheese28

+0

是的,你甚至尝试阅读文档?有一个getX,getY,getWidth和getHeight方法。 – ivange94

回答

0

这只是关于fomatting?你可以写一个简单的函数,将采取一个Rectangle对象,并返回所需的字符串,即:

public String formatRectangleOutput(Rectangle rectangle) { 
    String base = "Intersection (%.2f, %.2f, %.2f, %.2f)"; 
    return String.format(base, rectangle.getX(), rectangle.getY(), rectangle.getHeight(), rectangle.getWidth()); 
} 

,那么你可以这样调用它:

 System.out.println(formatRectangleOutput(intersection)); 

为了让您只需所以每个个体数 - 叫getters这是rectangle.getX()rectangle.getY()

+0

谢谢!但是有没有办法让'Rectangle'接受小数?我知道他们的默认是接受int,但我需要我的输入是浮动的。当我尝试将变量(以浮点形式)用于Rectangle类时,出现此错误: '不兼容的类型:从float到int'的可能的有损转换 – futilecheese28

+0

如果我没有弄错,那么int表示像素。在半个像素中绘制东西有什么意义? – Peter777

+0

对不起,这是作业。我只会把它们整理成整数,希望我的教授不检查我的代码。谢谢! – futilecheese28