精華區beta java 關於我們 聯絡資訊
小弟的JAVA作業題目是 試撰寫程式碼完成下列敘述: 1.定義原型類別Ccircle,含有一個資料成員radius(半徑)、兩個方法成員 Perimeter( 求圓周長)及Cal_area(求圓面積)。 2.建立一個圓形類別的物件 cir ,並指派 cir 物件的半徑值為 3公分。 3.取得 cir 物件的園周長及圓面積。 4.顯示 cir 物件的半徑值、圓周長及圓面積。 這是我寫的程式碼 import java.util.*; public class circle { public static void main(String args[]) { int radius; double perimeter,Cal_area; Ccircle cir = new Ccircle(3); System.out.println("radius = %d,perimeter = %f,Cal_area = %f",cir.radius,cir.Perimeter(),cir.Cal_area()); } } class Ccircle { public Ccircle(intr) { radius=r; } public double Perimeter(){return 3.14*2*radius;} public double Cal_area(){return radius*radius*3.14;} } 抱歉 附上錯誤訊息 circle.java:16: <identifier> expected public Ccircle(intr) ^ 1 error javac一直跑不過... 不知道哪裡出問題... 可以請版上大大幫我看一下哪裡出錯了嗎... 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.186.2 ※ 編輯: henrygod 來自: 140.127.186.2 (03/20 12:27)
LaPass:錯誤訊息? 人腦debug很累的 03/20 12:27
※ 編輯: henrygod 來自: 140.127.186.2 (03/20 12:30)
LaPass:public Ccircle(intr) => public Ccircle(int r) 03/20 12:31
LaPass:circle.java:16.. <= 通常是往ide回報錯誤的行數下去找 03/20 12:33
henrygod:我改了之後 又跳出別的錯誤了... 03/20 12:38
LaPass:那就照著IDE顯示的錯誤訊息去找找看,看不懂就用google翻譯 03/20 12:39
LaPass:學會DEBUG的方法對以後很有幫助的 03/20 12:41
henrygod:我改int r之後 換跳出radius沒宣告 改之後又跳出別的錯.. 03/20 12:44
感謝大大的指引 現在新的程式碼是 import java.util.*; public class circle { public static void main(String args[]) { int radius; double Perimeter,Cal_area; Ccircle cir = new Ccircle(3); System.out.println("radius = %d,Perimeter = %f,Cal_area = %f",cir.radius,cir.Perimeter(),cir.Cal_area()); } } class Ccircle { int radius; public Ccircle(int r) { radius = r; } public double Perimeter(){return 3.14*2*radius;} public double Cal_area(){return radius*radius*3.14;} } 又出現錯誤 circle.java:10: cannot find symbol symbol : method println(java.lang.String,int,double,double) location: class java.io.PrintStream System.out.println("radius = %d,Perimeter = %f,Cal_area = %f",cir.radius,cir.Perimeter(),cir.Cal_area()); ^ 1 error 天阿 一直錯 都不知道該怎麼改了... ※ 編輯: henrygod 來自: 140.127.186.2 (03/20 12:50)
asilzheng:把println的內容放到String.format()中 03/20 12:47
asilzheng:println只接受一個參數 你丟太多東西進去了 03/20 12:49
henrygod:String.format()要加在哪裡呢? 沒用過這個程式碼... 03/20 12:52
henrygod:錯誤標記在cir上不知道是什麼意思... 03/20 12:54
LaPass:http://nothing.tw/JDK_API_1_6/ <=把這個網址加到我的最愛 03/20 12:55
LaPass:看到不懂的method或是class可以去那邊找找看(從套件名去找) 03/20 12:56
LaPass:建議你先看一下println,String.format的用法。問題就解決了 03/20 13:01
henrygod:感謝大大 我把println改成printf就過了 程式也可以跑了 03/20 13:17
mars90226:println只接受一個String,你要把它們轉成字串接起來 03/20 13:45
chihcai:建議一下想學好java就不要帶太多C語言語法 03/20 14:51
eieio:java 裡的 printf 是新的,想認真多學一點東西,就試試 03/20 15:24
eieio:System.out.println("radius = " + cir.radius + ", "); 03/20 15:26