?? triangletest.java
字號:
//Example 2 of Chapter 3
import javax.swing.JOptionPane;
import java.text.DecimalFormat;
import java.awt.Point;
class Triangle {
//定義了三角形的三個頂點
protected Point X1,X2,X3;
//無形參的構造方法
public Triangle()
{
//空的構造方法,隱含訪問Object類的構造方法
}
//有形參的構造方法
public Triangle(Point a,Point b,Point c)
{
X1 = a;
X2 = b;
X3 = c;
}
//設置第一個頂點
public void setX1(Point a)
{
X1 = a;
}
//獲取第一個頂點
public Point getX1()
{
return X1;
}
//設置第二個頂點
public void setX2(Point b)
{
X2 = b;
}
//獲取第二個頂點
public Point getX2()
{
return X2;
}
//設置第三個頂點
public void setX3(Point c)
{
X3 = c;
}
//獲取第三個頂點
public Point getX3()
{
return X3;
}
//獲取三角形的字符串表示
public String toString()
{
return "["+X1.x+","+X1.y+"]"+"\n"+"["+X2.x+","+X2.y+"]"+"\n"+"["+X3.x+","+X3.y+"]";
}
//計算三角形的面積
public double getTriangleArea()
{
//定義了三角形的三個邊
double a,b,c;
//定義了三角形的三個邊之和的一半
double s;
//定義了三角形的面積
double S;
a=Math.sqrt((X1.x-X2.x)*(X1.x-X2.x)+(X1.y-X2.y)*(X1.y-X2.y));
b=Math.sqrt((X2.x-X3.x)*(X2.x-X3.x)+(X2.y-X3.y)*(X2.y-X3.y));
c=Math.sqrt((X1.x-X3.x)*(X1.x-X3.x)+(X1.y-X3.y)*(X1.y-X3.y));
s=(a+b+c)/2;
//計算三角形的面積
S=Math.sqrt(s*(s-a)*(s-b)*(s-c));
//返回三角形的面積
return S;
}
}
public class TriangleTest {
public static void main(String[] args)
{
String output = "";
//定義頂點
Point a1,a2,a3;
Point b1,b2,b3;
a1 = new Point(0,0);
a2 = new Point(30,0);
a3 = new Point(30,40);
b1 = new Point(10,10);
b2 = new Point(40,50);
b3 = new Point(0,100);
//定義三角形
Triangle t1,t2;
t1 = new Triangle(a1,a2,a3);
t2 = new Triangle(b1,b2,b3);
DecimalFormat twoDigits = new DecimalFormat("0.00");
output += "第一個三角形的頂點為:\n"+t1.toString();
output += "\n第一個三角形的面積為:"+twoDigits.format(t1.getTriangleArea());
output += "\n"+"第二個三角形的頂點為:\n"+t2.toString();
output += "\n第二個三角形的面積為:"+twoDigits.format(t2.getTriangleArea());
JOptionPane.showMessageDialog(null,output);
System.exit(0);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -