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

📄 line.java

📁 实现一个类
💻 JAVA
字号:
class Line
{   
	  private static double rg;  //斜率
		private Point1 p=new Point1();//点
		/*Line()
		{
			this.rg=0;
			this.p=Point1(0,0);
		}*/
		Line(double drg,Point1 dp)  //构造器
		{
			this.rg=drg;
			this.p=dp;
		}
		static void returnAtrr(Line line) //输出属性
		{
			System.out.println("the slope is  "+line.rg);
			System.out.println("the point is  "+line.p.x+" "+line.p.y);
		}
		static double yIntercept(Line e)//返回y轴上的截距
		{
			double yintercept;
			yintercept=e.p.y-rg*e.p.x;
			return yintercept;
		}
		
		Boolean Judge(Line e)//判断是不是相等
		{
			if(this.rg==e.rg&&this.p.x==e.p.x&&this.p.y==e.p.y)
			{
				return true;
			}
			else return false;
		}
		
		void display(Line line)//输出函数
		{
			if(line.rg==0)
			{
				System.out.println("y="+line.p.y);
			}
			else
			    if((line.p.y-line.rg*line.p.x)>=0) 
			    {
			    System.out.println("y="+line.rg+"x+"+(line.p.y-line.rg*line.p.x));
			    }
			    else System.out.println("y="+line.rg+"x"+(line.p.y-line.rg*line.p.x));
		}
		
		Boolean isParallelTo(Line line2)//判断两条直线是不是平衡
		{
			if(this.rg==line2.rg)
			{
				return true;
			}
			else return false;
		}
		Boolean isPeroendicularTo(Line line2)//判断两条直线是不是垂直
		{
			if(this.rg*line2.rg==-1)
			{
				return true;
			}
			else return false;
		}
		
		static Line translate(Line e,double dx, double dy)//直线的移动
		{
			e.p.x+=dx;
			e.p.y+=dy;
			return e;
		}
		
		static void rarate(double ta)//将直线沿逆时针方向旋转
		{
			rg=(ta+rg)/(1+rg*ta);
		}
		
		Boolean contains(Point1 p1)//判断点是不是在直线上
		{
			if(p1.y==this.rg*p1.x+(this.p.y-this.rg*this.p.x))
			{
				return true;					
			}
			else return false;
		}
		
		
	public static void main(String[] args)//主函数
	{		
		Point1 point1=new Point1();
		Line line=new Line(0,point1);
		line.rg=new Integer(args[0]).doubleValue();
		line.p.x=new Integer(args[1]).doubleValue();
		line.p.y=new Integer(args[2]).doubleValue();
		line.display(line);
		System.out.println("the yIntercept is "+yIntercept(line));
		line.display(translate(line,1,1));
		rarate(1);
		line.display(line);
		Point1 point2=new Point1(1,1);
		System.out.println(line.contains(point2));
		returnAtrr(line);
		/*Point p=new Point(2.0,3.2);
		System.out.println("finish!!");
		System.out.println(p.x);*/
	}
}




class Point1//点类
{
	double x;
	double y;
	Point1()//无参构造器
	{
	}
	Point1(double x,double y)//带参数构造器
	{
		this.x=x;
		this.y=y;
	}
}

⌨️ 快捷键说明

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