作者TonyQ (沉默是金)
看板java
标题Re: [问题] non-static问题
时间Thu May 14 03:42:06 2009
※ 引述《jimpop (popmij)》之铭言:
: ※ 引述《TonyQ (沉默是金)》之铭言:
: 嗯~那我把我的码po出来~
: 小小说明一下~
: 这是出问题的地方
: 在这上面有这六个物件~我"猜"应该不是重点
: 在程式一开始定义这六个物件
: 因我想比较它们谁最大
: 我就把它们全部存入一维阵列
: 然後再来比较
: 我的最大问题是:
: 要怎麽弄才能让arr[]这个顺利完成并让larger函数使用!?
: 那个递回也许有逻辑错误~但想先把这问题弄好再来想~~
: 谢谢T大的指引
: 我确实是static{}这样@@
: public class a1
: {
static double arr[]=null;
public static void initArr(){
int r1=3,r2=5;
CCircle a1=new CCircle();
CTriangle a2=new CTriangle();
CSquare a3=new CSquare();
CCircle2 b1=new CCircle2();
CTriangle2 b2=new CTriangle2();
CSquare2 b3=new CSquare2();
arr=new double[]{a1.area(r1),a2.area(r1,r2),a3.area(r1),b1.area(r1),b2.a };
}
: public static void main(String args[])
: {
initArr();
: System.out.println(larger(0,5,0));
: }
: public static double larger(int i,int a,int b)
: {
: if((i-1)==a)return b;
: else
: {
: if(arr[i]>arr[i+1])return larger(i+1,a,i);
: else return larger(i+1,a,i+1);
: }
: }
: }
---
其实把上面几个物件都改 static 也行 ,
不过一般来讲是不会建议都用 static 来作啦 .
既然你只需要 arr 这个array , 写个init method 来建立他就好.
--
What do you want to have ? / What do you have?
从书本中,你可以发现我的各种兴趣。
从CD中,你可以了解我所喜欢的偶像明星。
或许从文字你很难以了解一个人,但从物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.78.140
1F:→ TonyQ:这只是这个问题的可行解之一 , 不一定是最佳解. :p 05/14 03:44
2F:→ TonyQ:原问题改static 是在於因为建立过程有引用non-static物件. 05/14 03:46
3F:推 H45:夜深了 该睡了 (学校大停电 怒) 05/14 04:19
4F:推 jimpop:哦哦哦哦!!!我终於懂了~~看来类别这部份要再看几次了~谢谢! 05/14 14:04
5F:推 jimpop:一直卡在static~~~也发现我的递回有错误~~再次谢谢T大 05/14 14:07