Topic: 编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决]

  Print this page

1.编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-08 20:51

java version "1.4.2_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2
Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode)

文件名Big Smileate.java
D:\JAVA\java>java Date
Exception in thread "main" java.lang.NoSuchMethodError: main(错误提示)

源码:
public class Date{
int y,m,d;
Date(int year,int mo,int day){
  y=year;
  m=mo;
  d=day;
  }
boolean isyear(){
  return (y%400==0 ) | (y%100!=0) & (y%4==0);
  }
void pri(){
  System.out.println("计算润年的方法 date "+y+"-"+m+"-"+d);
  }
}
class Date_ep{
public static void main(String args[]){
  Date a = new Date(2002,8,20);
  a.pri();
  System.out.println(a.y+" 是 "+a.isyear());
  }
}

2.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-08 20:52

晕哪个文件名是Date.java,不知道发上去怎么搞的变成一个笑脸了(晕)

3.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: 世外水源
Posted on: 2006-11-08 22:15

错在访问权限。
请你弄清public、private、protected访问权限的范围。
解决方法:class Date_ep可以不要,将class Date_ep里边的类体放在public class Date里就行了。

4.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: 世外水源] Copy to clipboard
Posted by: lisliefor
Posted on: 2006-11-09 16:53

世外水源 wrote:
请你弄清public、private、protected访问权限的范围。

I can't understand what you meant.
Did you let lz write the main() to the class which use "public" to descript .

5.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: lisliefor] Copy to clipboard
Posted by: 世外水源
Posted on: 2006-11-09 18:48

lisliefor wrote:
I can't understand what you meant.
Did you let lz write the main() to the class which use "public" to descript .

so sorry !
我不太会英语,而且我是学java的新手,学了没有多久。
我说错和说得不明白的话请原谅啦~
我改了就可以运行,但不会说原因。
THX!

6.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-09 19:24

我知道把哪个MAIN方法写在Date类中,是可以运行的,

但为什么这样是不行的..这按书的写的就是过不了郁闷啊

这是环境变量是:
C:\Documents and Settings\Administrator>echo %path%
C:\WINDOWS\system32;C:\WINDOWS;D:\j2sdk1.4.2_13\bin;D:\j2sdk1.4.2_13\jre\bin;C:\
WINDOWS\System32\Wbem

C:\Documents and Settings\Administrator>echo %classpath%
.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib

C:\Documents and Settings\Administrator>echo %java_home%
D:\j2sdk1.4.2_13

不光是上面哪个程序,有好多都不能运行的............................

请高手帮忙啊.......................................................

7.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: dracularking
Posted on: 2006-11-10 13:11

You should make the class which contains main() method public and the same name as the source file, shouldn't you? note that there can be only one public class in one source file...

class Date
{
int y,m,d;
Date(int year,int mo,int day)
{
y=year;
m=mo;
d=day;
}

boolean isyear()
{
return (y%400==0 ) | (y%100!=0) & (y%4==0);
}

void pri()
{
System.out.println("计算润年的方法 date "+y+"-"+m+"-"+d);
}
}

public class Date_ep
{
public static void main(String args[])
{
Date a = new Date(2002,8,20);
a.pri();
System.out.println(a.y+" 是 "+a.isyear());
}
}

8.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: qazwsx2k4
Posted on: 2006-11-10 13:40

你的问题应该在Classpath设置上,你先去掉再试试

9.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: qazwsx2k4
Posted on: 2006-11-10 13:41

你的程序我没有做任何修改再我的电脑里面可以编译执行,我用的JDK1.50-8

10.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: qazwsx2k4] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-10 18:54

qazwsx2k4 wrote:
你的问题应该在Classpath设置上,你先去掉再试试


如何设啊

是怎么做呢????????????????????

11.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-10 19:21

我把Classpath换成

D:\JAVA\java>echo %classpath%
.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\l
ib\tools.jar

结果还是一样的
生成Date.class 和 Date_ep.class
我觉的是找不到哪Date_ep.class这个文件........................

这个问题到底错在哪了啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
郁闷啊!

有人知道的话,说细一点啊拜托各位了............
在这先谢谢了

12.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-10 19:29

晕哦
搞错了
把.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\l
ib\tools.jar

换为.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib;d:\jdk1.2\lib\dt.jar;d:\jdk1.2\lib\tools.jar

还是不行的

13.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: why
Posted on: 2006-11-10 19:46

ncie wrote:
晕哦
搞错了
把.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\l
ib\tools.jar

换为.;D:\j2sdk1.4.2_13\lib;D:\j2sdk1.4.2_13\jre\lib;d:\jdk1.2\lib\dt.jar;d:\jdk1.2\lib\tools.jar

还是不行的

SET JAVA_HOME=D:\j2sdk1.4.2_13
SET CLASSPATH=.

14.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: baler
Posted on: 2006-11-12 09:17

你的main方法不在Date中,而是在Date_ep里
所以运行时应该用 java Date_ep

15.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: baler] Copy to clipboard
Posted by: ncie
Posted on: 2006-11-13 09:28

baler wrote:
你的main方法不在Date中,而是在Date_ep里
所以运行时应该用 java Date_ep


是的可以了.学习了谢谢............................................

16.Re:编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决] [Re: ncie] Copy to clipboard
Posted by: carefreegale
Posted on: 2006-11-15 17:28

一个程序里边一般只有一个类用public修饰---------------------书上看的
你的两个类都用public修饰了阿,这样好像不太好

17.Re:编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决] [Re: ncie] Copy to clipboard
Posted by: Revolution
Posted on: 2006-11-16 09:35

main函数应放在主类中 那个Date_ep类是多余的

18.Re:编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决] [Re: ncie] Copy to clipboard
Posted by: Revolution
Posted on: 2006-11-16 09:35

main函数应放在主类中 那个Date_ep类是多余的

19.Re:编译成功,运行出错了...为什么(快来看看啊!!!!) [Re: ncie] Copy to clipboard
Posted by: cooper131
Posted on: 2006-11-16 11:16

ncie wrote:
晕哪个文件名是Date.java,不知道发上去怎么搞的变成一个笑脸了(晕)


好像是冒号加某个字母

20.Re:编译成功,运行出错了...为什么(快来看看啊!!!!)[已解决] [Re: ncie] Copy to clipboard
Posted by: lisliefor
Posted on: 2006-11-16 21:34

论坛用一些字符组合代替笑脸标记,这个可以从回复栏左边看到。


   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