我的想法很简单,建立对象,调用,实例化,判断我的做法:建立对象; public class Sanjiaopoint { public int x; public int y; public Sanjiaopoint(int x,int y){ this.x=x; this.y=y; } public int getX(){ return x; } public void setX(int x){ } public int getY(){ return y; } public void setY(int y){ } } /////////// 判断 import java.lang.Math.*;public class Sanjiao { double p; double s; double a; double b; double c; public Sanjiao() { Sanjiaopoint a1 = new Sanjiaopoint(1,1); Sanjiaopoint a2 = new Sanjiaopoint(2,2); Sanjiaopoint a3 = new Sanjiaopoint(3,4); a = Math.sqrt( (a1.getX() - a2.getX()) * (a1.getX() - a2.getX()) + (a1.getY() - a2.getY()) * (a1.getY() - a2.getY())); b = Math.sqrt( (a3.getX() - a2.getX()) * (a3.getX() - a2.getX()) + (a3.getY() - a2.getY()) * (a3.getY() - a2.getY())); c = Math.sqrt( (a1.getX() - a3.getX()) * (a1.getX() - a3.getX()) + (a1.getY() - a3.getY()) * (a1.getY() - a3.getY())); if ( (a1.getX() - a2.getX()) / (a1.getY() - a2.getY()) != (a1.getX() - a3.getX()) / (a1.getY() - a3.getY())) { System.out.println("sanjiao"); p = (a + b + c) / 2; s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); System.out.println(s); } else { System.out.println("no"); } } public static void main(String[] args) { Sanjiao sanjiao1 = new Sanjiao(); }} 希望能有所帮助!
我也写了一个。整整十几分钟呢。 /** *创建 Point类。点类 / public class Point { private int x; private int y; Point(){ }
public int getX(){ return x; } public int getY(){ return y; } public void setX(int i){ this.x = i; } public void setY(int i){ this.y = i; } }//创建线类,线由点组成 public class Line extends Point { private float length; private Point A = new Point(); private Point B = new Point();
public Line(){ } public void setA(int x,int y){ A.setX(x); A.setY(y); } public void setB(int x,int y){ B.setX(x); B.setY(y); }
public float getLength(){ this.length = (float) Math.sqrt(Math.abs(A.getX()-B.getX())*Math.abs(A.getX()-B.getX())+Math.abs(A.getY()-B.getY())*Math.abs(A.getY()-B.getY())); int flag= (int)length; if ( flag==0){ System.out.print("no the line,draw agine");//两点重叠,退出 //System.exit(0); } return length; }
//测试,打印线 public static void main(String args[]){ Line l = new Line(); l.setA(5,4); l.setB(8,8); System.out.println(l.getLength()); }} // 三角型,,由于线组成。 public class Triangle extends Line{ private float area; private Line La = new Line(); private Line Lb = new Line(); private Line Lc = new Line(); public Triangle(){ } public void setLA(int x,int y,int x1,int y1){ La.setA(x,y); La.setB(x1,y1); } public void setLb(int x,int y,int x1,int y1){ Lb.setA(x,y); Lb.setB(x1,y1); } public void setLc(int x,int y,int x1,int y1){ Lc.setA(x,y); Lc.setB(x1,y1); } public float getArea(){ float Lp =(float)(La.getLength()+Lb.getLength()+Lc.getLength())/2; this.area = (float) Math.sqrt(Math.abs(Lp-La.getLength())*Math.abs(Lp-Lb.getLength())*Math.abs(Lp-Lc.getLength())*Lp); return area; }
public static void main(String args[]){ Triangle t =new Triangle(); //注意:输入的时候,必须只有三个坐标。判断自己加。 t.setLA(1,2,3,4); t.setLb(3,4,5,6); t.setLb(7,8,1,2); System.out.println(t.getArea()); } }
public class Sanjiaopoint { public int x;
public int y;
public Sanjiaopoint(int x,int y){
this.x=x;
this.y=y;
}
public int getX(){
return x;
}
public void setX(int x){ } public int getY(){
return y;
}
public void setY(int y){ }
}
///////////
判断
import java.lang.Math.*;public class Sanjiao {
double p;
double s;
double a;
double b;
double c;
public Sanjiao() {
Sanjiaopoint a1 = new Sanjiaopoint(1,1);
Sanjiaopoint a2 = new Sanjiaopoint(2,2);
Sanjiaopoint a3 = new Sanjiaopoint(3,4);
a = Math.sqrt( (a1.getX() - a2.getX()) * (a1.getX() - a2.getX()) +
(a1.getY() - a2.getY()) * (a1.getY() - a2.getY()));
b = Math.sqrt( (a3.getX() - a2.getX()) * (a3.getX() - a2.getX()) +
(a3.getY() - a2.getY()) * (a3.getY() - a2.getY()));
c = Math.sqrt( (a1.getX() - a3.getX()) * (a1.getX() - a3.getX()) +
(a1.getY() - a3.getY()) * (a1.getY() - a3.getY()));
if ( (a1.getX() - a2.getX()) / (a1.getY() - a2.getY()) !=
(a1.getX() - a3.getX()) / (a1.getY() - a3.getY())) {
System.out.println("sanjiao");
p = (a + b + c) / 2;
s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
System.out.println(s);
}
else {
System.out.println("no");
}
} public static void main(String[] args) {
Sanjiao sanjiao1 = new Sanjiao();
}}
希望能有所帮助!
/**
*创建 Point类。点类
/
public class Point {
private int x;
private int y;
Point(){
}
public int getX(){
return x;
}
public int getY(){
return y;
}
public void setX(int i){
this.x = i;
}
public void setY(int i){
this.y = i;
}
}//创建线类,线由点组成
public class Line extends Point {
private float length;
private Point A = new Point();
private Point B = new Point();
public Line(){
} public void setA(int x,int y){
A.setX(x);
A.setY(y);
}
public void setB(int x,int y){
B.setX(x);
B.setY(y);
}
public float getLength(){
this.length = (float) Math.sqrt(Math.abs(A.getX()-B.getX())*Math.abs(A.getX()-B.getX())+Math.abs(A.getY()-B.getY())*Math.abs(A.getY()-B.getY()));
int flag= (int)length;
if ( flag==0){ System.out.print("no the line,draw agine");//两点重叠,退出
//System.exit(0);
}
return length;
}
//测试,打印线
public static void main(String args[]){
Line l = new Line();
l.setA(5,4);
l.setB(8,8);
System.out.println(l.getLength());
}}
// 三角型,,由于线组成。
public class Triangle extends Line{
private float area;
private Line La = new Line();
private Line Lb = new Line();
private Line Lc = new Line();
public Triangle(){
}
public void setLA(int x,int y,int x1,int y1){
La.setA(x,y);
La.setB(x1,y1);
}
public void setLb(int x,int y,int x1,int y1){
Lb.setA(x,y);
Lb.setB(x1,y1);
}
public void setLc(int x,int y,int x1,int y1){
Lc.setA(x,y);
Lc.setB(x1,y1);
}
public float getArea(){
float Lp =(float)(La.getLength()+Lb.getLength()+Lc.getLength())/2;
this.area = (float) Math.sqrt(Math.abs(Lp-La.getLength())*Math.abs(Lp-Lb.getLength())*Math.abs(Lp-Lc.getLength())*Lp);
return area;
}
public static void main(String args[]){
Triangle t =new Triangle();
//注意:输入的时候,必须只有三个坐标。判断自己加。
t.setLA(1,2,3,4);
t.setLb(3,4,5,6);
t.setLb(7,8,1,2);
System.out.println(t.getArea());
}
}