推 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:看到不懂的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