Topic: 学习线程中碰到的怪问题 |
Print this page |
1.学习线程中碰到的怪问题 | Copy to clipboard |
Posted by: gleamyshadow Posted on: 2006-06-02 22:20 在学习线程的时候,我写了一个缓慢显示文字的代码如下: ---------------------------------------------------------------------------------------- class Wenzi extends Thread{ String[] s=new String[4]; //X1 s[0]=new String("缓"); s[1]=new String("慢"); s[2]=new String("打"); s[3]=new String("印"); //X2 public void run(){ for(i=0;i<=6;i++){ System.out.print(s[i]); try{ sleep(1000); }catch(InterruptedException ie){} } } public static void main(String[] args){ Wenzi wz=new Wenzi(); wz.start(); } } ---------------------------------------------------------------------------------------- 在编译的过程出现错误提示如下: ---------------------------------------------------------------------------------------- E:\C\JAVA\myjava\A14_2.java:3: 需要 ']' s[0]=new String("缓"); ^ E:\C\JAVA\myjava\A14_2.java:3: 需要 <标识符> s[0]=new String("缓"); ^ E:\C\JAVA\myjava\A14_2.java:4: 需要 ']' s[1]=new String("慢"); ^ E:\C\JAVA\myjava\A14_2.java:4: 需要 <标识符> s[1]=new String("慢"); ^ E:\C\JAVA\myjava\A14_2.java:5: 需要 ']' s[2]=new String("打"); ^ E:\C\JAVA\myjava\A14_2.java:5: 需要 <标识符> s[2]=new String("打"); ^ E:\C\JAVA\myjava\A14_2.java:6: 需要 ']' s[3]=new String("印"); ^ E:\C\JAVA\myjava\A14_2.java:6: 需要 <标识符> s[3]=new String("印"); ^ 8 错误 ------------------------------------------------------------------------------------ 看错误提示,我以为是数组定义有错误,我就把代码中定义数组的部分X1行到X2行直接复制另一个文件中,但是可以正常通过编译和运行,我不知道是为什么了,请大家帮忙看一下 |
2.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: PrimeJava Posted on: 2006-06-03 00:17
|
3.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: gleamyshadow Posted on: 2006-06-03 23:32 谢谢,象你这样的确是可以通过编译和运行,但我就是搞不懂为什么同样的代码在另一个文件可以正常通过编译,而在这个文件里不行,可以告诉我吗 |
4.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: zhc_cnjava Posted on: 2006-06-06 08:06 class Wenzi extends Thread{ String[] s=new String[4]; //X1 s[0]=new String("缓"); s[1]=new String("慢"); s[2]=new String("打"); s[3]=new String("印"); //X2 public void run(){ 在类的定义中,不能把赋值语句写到类的定义中,在这里,可以把字符串数组s的初始化放到某一个method中,或者用String[] s = {"缓", "慢", "打", "印"};的形式对s进行直接初始化. |
5.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: guaqingqing1314 Posted on: 2006-06-06 10:55 "在类的定义中,不能把赋值语句写到类的定义中," 楼上说的不懂是什么意思呀,我是菜鸟:),能不能详细点呀? |
6.Re:学习线程中碰到的怪问题 [Re: guaqingqing1314] | Copy to clipboard |
Posted by: why Posted on: 2006-06-06 11:11 guaqingqing1314 wrote: 實在沒有甚麼值得詳細講說的
|
7.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: lisliefor Posted on: 2006-06-06 11:25 s[0]=new String("缓"); s[1]=new String("慢"); s[2]=new String("打"); s[3]=new String("印"); 他的意思是,以上语句不要写在方法的外面,比如: class exam{ String s = new s[4]; //每个字符对象初始化操作,不要放在方法外面 s[0]=new String("缓"); s[1]=new String("慢"); s[2]=new String("打"); s[3]=new String("印"); public void setString(){ ...//那些语句最好不要放在方法的外面,而已经放在这里,当然,方法的名字随便你取 } } |
8.Re:学习线程中碰到的怪问题 [Re: gleamyshadow] | Copy to clipboard |
Posted by: guaqingqing1314 Posted on: 2006-06-06 21:55 我只是想知道为什么不能放在类内方法外? |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |