⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parallelogram.java

📁 输入四个点
💻 JAVA
字号:
/**
 * @(#)Vector2D.java
 *
 *
 * @author 
 * @version 1.00 2007/12/26
 */
import java.io.*;

class Vector2D {

    public Vector2D()
    {
    }
    public Vector2D(float a,float b)                           //初始化向量(或者点)
     {
    	this.a=a;
    	this.b=b;
     }
    public Vector2D minus(Vector2D t)                         //两个点相减得到向量               
    { 
    	float x,y;
    	x=a-t.a;
    	y=b-t.b;
    	return new Vector2D(x,y);
     }
    public boolean nonzero()                                 //片断点非原点
    {
    	return (a!=0||b!=0);
    }
    public float inner(Vector2D t)                           //若两向量相平行则x1.y2-x2.y1=0
    {
    	return a*t.b-b*t.a;
    }
    public boolean isParallelogram(Vector2D t)
    {
    	return (nonzero() && t.nonzero() &&(Math.abs(inner(t))<delta));
    }  
    public String toString()
    {
    	return ("("+a+","+b+")");
    }  
private float a=0.0f,b=0.0f;
private float delta=0.00000001f;    
    
}
public class Parallelogram
{
   public static Vector2D getPoint(int i)throws IOException           //初始化各个点,必须用static,否则无法被主函数调用
	{
		Vector2D temp;
		float x,y;
		BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
		System.out.print("x"+i+"=") ;
		System.out.flush();
		x=Float.parseFloat(keyin.readLine());
		System.out.print("y"+i+"=") ;
		System.out.flush();
		y=Float.parseFloat(keyin.readLine());
		temp=new Vector2D(x,y);
		return temp;
	}
	public static void main(String args[])throws IOException
	{
		Vector2D points[]=new Vector2D[4];
		int i;
		for(i=0;i<4;i++)
			points[i]=getPoint(i);
		for(i=0;i<4;i++)
			System.out.print(points[i]+" ");                             //调用对象的toString函数,将返回的字符串输出
		System.out.println();
		Vector2D v;
		Vector2D u;
		for(i=0;i<=1;i++)
		{
			v=points[i+1].minus(points[i]);
			u=points[(i+3)%4].minus(points[i+2]);
			if(!v.isParallelogram(u))                                 //若向量1,3或者向量2,4不平行,返回
			{
				System.out.println("Not a parallelogram!");
				return;
			}
		}
		System.out.println("Yes,this is a parallelogram");
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -