javaline
『壹』 java中怎樣創建一個Line類以便創建一個Vector數組來接受g.drawline繪畫出的直線
import java.util.ArrayList;
import java.util.List;
public class Line {
/*
* x1 the first point's coordinate.
* y1 the first point's coordinate.
* x2 the second point's coordinate.
* y2 the second point's coordinate.
*/
private int x1;
private int y1;
private int x2;
private int y2;
private List<Line> lines =new ArrayList<Line>();
public Line() {}
public Line(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public int getX1() {
return x1;
}
public void setX1(int x1) {
this.x1 = x1;
}
public int getY1() {
return y1;
}
public void setY1(int y1) {
this.y1 = y1;
}
public int getX2() {
return x2;
}
public void setX2(int x2) {
this.x2 = x2;
}
public int getY2() {
return y2;
}
public void setY2(int y2) {
this.y2 = y2;
}
public List<Line> Lines(){
return this.lines;
}
}
『貳』 Java裡面的line在哪兒
在java工具欄裡面。
我們知道,java程序的啟動入口是main方法,我們其實已經可以通過main中的args參數來實現將外界變數傳入main方法內部了,那為什麼還需要CommandLine。因為args參數使用不夠方便,主要是因為其實現是一個數組,整個傳遞過程需要依賴順序。編程者和程序調用需要記憶參數的順序,才能正確傳遞參數。
當需要換行時,通常建議使用line。
『叄』 java 判斷直線狀況
publicclassLineTest{
publicstaticvoidmain(String[]args){
Pointp1=newPoint(0,3),p2=newPoint(4,0);
Linel1=newLine(0,3,4,0),
l2=newLine(p1,p2),
l3=newLine(0,4,0,3),
l4=newLine(4,4,0,4),
l5=newLine(0,0,3,3);
System.out.println("l1:"+l1);
System.out.println("l2:"+l2);
System.out.println("l3:"+l3);
System.out.println("l4:"+l4);
System.out.println("l5:"+l5);
System.out.println("l1length:"+l1.getLength());
System.out.println("l2length:"+l2.getLength());
System.out.println("l3length:"+l3.getLength());
System.out.println("l4length:"+l4.getLength());
System.out.println("l1isHorizontal:"+l1.isHorizontal());
System.out.println("l3isHorizontal:"+l3.isHorizontal());
System.out.println("l1isVertical:"+l1.isVertical());
System.out.println("l4isVertical:"+l4.isVertical());
System.out.println("l1slope:"+l1.getSlope());
System.out.println("l3slope:"+l3.getSlope());
System.out.println("l4slope:"+l4.getSlope());
System.out.println("l5slope:"+l5.getSlope());
System.out.println("l1midpoint:"+l1.getMidpoint().toString());
System.out.println("l3midpoint:"+l3.getMidpoint().toString());
System.out.println("l1equalsl2:"+l1.equals(l2));
System.out.println("l1equalsl3:"+l1.equals(l3));
System.out.println("l2equalsl3:"+l2.equals(l3));
}
}
classLine{
privatePointp1,p2;
publicLine(Pointp1,Pointp2){
super();
this.p1=p1;
this.p2=p2;
}
publicLine(intx1,inty1,intx2,inty2){
super();
this.p1=newPoint(x1,y1);
this.p2=newPoint(x2,y2);
}
publicintgetLength(){
inta=(int)Math.abs(p1.getX()-p2.getX());
intb=(int)Math.abs(p1.getY()-p2.getY());
return(int)Math.sqrt(a*a+b*b);
}
publicbooleanisHorizontal(){
returnMath.abs(p1.getX()-p2.getX())<=0.00001;
}
publicbooleanisVertical(){
returnMath.abs(p1.getY()-p2.getY())<=0.00001;
}
publicdoublegetSlope(){
doublea=p1.getX()-p2.getX();
doubleb=p1.getY()-p2.getY();
if(b==0.0)returnDouble.MAX_VALUE;
returna/b;
}
publicPointgetMidpoint(){
returnnewPoint((int)((p1.getX()+p2.getX())/2)
,(int)((p1.getY()+p2.getY())/2));
}
publicbooleanequals(Lineol){
return(this.p1.equals(ol.getP1()))&&
(this.p2.equals(ol.getP2()));
}
publicPointgetP1(){
returnp1;
}
publicvoidsetP1(Pointp1){
this.p1=p1;
}
publicPointgetP2(){
returnp2;
}
publicvoidsetP2(Pointp2){
this.p2=p2;
}
@Override
publicStringtoString(){
StringBuildersb=newStringBuilder();
sb.append("[")
.append("(").append(p1.getX()).append(",")
.append(p1.getY()).append(")").append(",")
.append("(").append(p2.getX()).append(",")
.append(p2.getY()).append(")")
.append("]");
returnsb.toString();
}
}
有個小問題就是你要求用Point做點,而Point點的數據類型是int,計算中點時會損失精度,可以改成Point2D實現。
『肆』 如何在java中實現一個Line類
http://wenku..com/view/c6d9e9df3186bceb19e8bb23.html
在網路文庫中上傳過一個文檔,裡面有你要的東西的,圖文並茂的說明。
『伍』 java 中 String line=br1.readLine(); 讀入的一行是僅有換行符,為什麼 if(line!="") 是false,應該是true
應該使用equal比較。
equal是值比較,!=是地址比較了。
『陸』 java Line2D 問題。。。
當然是false了,你要知道line.contains();方法判斷的是該點有沒有包含在區域裡面,但是你line是一條線呀,根本沒有區域可言,所以總是返回false,你可以把線換成矩形,然後再測試,就不總是返回false了。
『柒』 java中.newLine()把前一行覆蓋掉了
建議不要採用newLine();的方式,建議在外層for循環結束的時候 bw1.write(System.getProperty("line.separator"));代替bw1.newLine();
『捌』 line在java是什麼意思
換行的意思
Line」英音 [lain] ;美音 [lain] ;
釋義:
1)n. (名詞)
1、line的基本意思是「線,線條」,指在物體表面上留下的長的痕跡,可以是直的,也可以是彎的;可指具體的線,也可指抽象的線。具體的線如電話線、繩子、鐵路線等;抽象的線如行業、專長、方針、路線等。
2、line作「行」解時是單位詞,其後常可接「of+ n. 」, of後的名詞如是不可數名詞表示復數意義時, line用復數形式;of後的名詞如是可數名詞,用於復數意義時,line和該名詞均用復數形式。
3、line還可作「赤道」解,其前須加定冠詞the。「a line of+ n. 」作主語時,謂語動詞的數由line決定,而不依其後的名詞。
2)v. (動詞)
1、line的基本意思是「用線表示,畫線於」,引申可指「排成一行」「排隊,排齊」。line還可作「給…加襯里」解,作此解時,常與介詞with連用。
2、line可用作及物動詞,接名詞或代詞作賓語。可用於被動結構。例:
a line與a few lines可以解釋為「簡訊」的意思。Please drop me a line (或a few lines) as soon as possible.
在a line of加名詞作主語的句子中,謂語動詞要與a line保持一致性,而不是與of後的名詞保持一致性;
在信的開頭,通常會出現Just a line to tell you that ...或者A line to say that ...等,這些都是習慣用語。Just a line to tell you that I have failed to the examination.