精華區beta java 關於我們 聯絡資訊
剛接觸java不到一個禮拜.....想請為各位大大 老師出了一個作業 http://db.tt/0AJ31y88 (不知我有沒有抄錯) 我的程式碼,不過座標印不出來(亂碼),想請問我這樣的程式算正確嗎?! package Test; class Point{ private float x; private float y; public Point(float x,float y){ this.x=x; this.y=y; } public float getx(){ return x; } public float gety(){ return y; } public void printP(){ System.out.println("("+x+" , "+y+")"); } } class Triangle{ private Point A,B,C; public Triangle(Point A, Point B, Point C) { this.A = A; this.B = B; this.C = C; } public Point getA(){ return A; } public Point getB(){ return B; } public Point getC(){ return C; } public void printTriangle(){ System.out.println(A); System.out.println(B); System.out.println(C); } public void Area(){ double AB,BC,AC,s,area; AB=Math.sqrt((A.getx()-B.getx())*(A.getx()-B.getx())+(A.gety()-B.gety()) *(A.gety()-B.gety())); BC=Math.sqrt((B.getx()-C.getx())*(B.getx()-C.getx())+(B.gety()-C.gety()) *(B.gety()-C.gety())); AC=Math.sqrt((A.getx()-C.getx())*(A.getx()-C.getx())+(A.gety()-C.gety()) *(A.gety()-C.gety())); s=(AB+BC+AC)/2; area=Math.sqrt(s*(s-AB)*(s-BC)*(s-AC)); System.out.println(area); } } public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Point A=new Point(0,0); Point B=new Point(0,3); Point C=new Point(-4,0); Triangle T = new Triangle(A,B,C); System.out.print("三點座標分別為"); T.printTriangle(); System.out.print("三角形面積為:"); T.Area(); } } 希望各位高手能幫幫我,想到快破惱了.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.64.91.231 ※ 編輯: TWTRubiks 來自: 203.64.91.231 (10/04 19:30)
stimim:你看到的不是亂碼,println(A) 會印出 A.toString() 的結果 10/04 19:59
TWTRubiks:那請問我該怎麼改?! 才能正確的印出座標 10/04 20:00
stimim:你可以在 printTriangle 裡呼叫 printP 10/04 20:03
TWTRubiks:可是老師規定要用 T.printTriangle();印出 10/04 20:06
LaPass:就是在裡面改成A.printP(); B. .... 10/04 20:10
TWTRubiks:對吼~! 我真笨~! 跑出來了 10/04 20:15