菜鸟提问:)
class Letter
{
char c;
}
public class PassObject
{
static void f(Letter y)
y.c='z';
}
public static void main(String[] args)
{
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.pirntln("2:x.c;"+x.c);
}
提示错误
G:\java\javafile>javac PassObject.java
PassObject.java:8: ';' expected
y.c='z';
^
PassObject.java:10: 'class' or 'interface' expected
public static void main(String[] args)
^
2 errors
我这个是按照视视频讲座上打的,不知道错在什么地方了:)请指教。
问题点数:20、回复次数:11Top
1 楼Gavin(天行健,君子以自强不息)回复于 2004-12-02 20:41:37 得分 0
static void f(Letter y)
y.c='z';
}
这个(Letter y)后面缺 {Top
2 楼tyxsoft(bfmtyx)回复于 2004-12-02 20:45:47 得分 0
2楼正确。Top
3 楼languagec(各有所求)回复于 2004-12-02 20:53:27 得分 0
class Letter
{
char c;
}
public class PassObject
{
PassObjiec(){}
static void f(Letter y)
{
y.c='z';
}
public static void main(String[] args)
{
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.pirntln("2:x.c;"+x.c);
}
}
加上{ 后,编译通过,却不能运行,为什么?
Exception in thread "main" java.lang.NoClassDefFoundError: PassObjectTop
4 楼languagec(各有所求)回复于 2004-12-02 20:54:58 得分 0
编译后竟然没产生.class 文件! 奇怪呀~Top
5 楼zyg158((DD)OTP)回复于 2004-12-02 21:03:33 得分 0
class Letter
{
char c;
}
public class PassObject
{
PassObjiec(){}
static void f(Letter y)
{
y.c='z';
}
public static void main(String[] args)
{
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.pirntln("2:x.c;"+x.c);
}
}
加上{ 后,编译通过,却不能运行,为什么?
System.out.pirntln("2:x.c;"+x.c);
^^^^^^^^^^拼写错误,还能通过编译??Top
6 楼lightEIF(苍鹰)回复于 2004-12-02 21:04:43 得分 20
class Letter
{
char c;
}
public class PassObject
{
PassObject(){}
static void f(Letter y)
{
y.c='z';
}
public static void main(String[] args)
{
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.println("2:x.c;"+x.c);
}
}
编译之后完全正确,输出结果:
1:x.c:a
2:x.c;z
错误原因:构造方法的名字打错,println打错,别的没什么原因,我改了这个两个地方在eclipse3.0下运行非常正常。Top
7 楼sam_KING(sam)回复于 2004-12-02 21:06:51 得分 0
class Letter
{
char c;
}
public class PassObject
{
static void f(Letter y)
{
y.c='z';
}
public static void main(String[] args)
{
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.println("2:x.c;"+x.c);
}
}
用这个Top
8 楼zyg158((DD)OTP)回复于 2004-12-02 21:07:28 得分 0
System.out.pirntln("2:x.c;"+x.c);
System.out.println("2:x.c;"+x.c);
改了以后可以了,这么多粗心人呀,呵呵Top
9 楼lightEIF(苍鹰)回复于 2004-12-02 21:07:51 得分 0
你这样马虎的人,这样明白的错误提示都找不到,建议你还是别做程序员了,好好练练细心和耐心再来做。Top
10 楼lightEIF(苍鹰)回复于 2004-12-02 21:09:37 得分 0
能通过编译是因为你环境变量没设好,重新设一下,或者重新启动系统再编译马上就能在编译的时候找到错误。Top
11 楼catblue(佛家说:一粒沙中看世界。)回复于 2004-12-03 08:20:11 得分 0
来晚了,该说的都说了Top




