关于JAVA初级问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:50:30
学习JAVA过程中遇到这个问题:
class lesson21
{
public static void main (String [] args)
{
int x=5,y;
int y = x/2;
System.out.println(y);
}
}
运行的错误提示是:
D:\Program Files\javawork\lesson2>javac lie.java
lie.java:6: 已在 main(java.lang.String[]) 中定义 y
int y = x/2;
^
这个是什么原因?我是按照视频教程上来写的一个都没改动过啊!
还有个问题就是把上面的第六行的“int y = x/2;”这行改为“float f = x/2;”这样就可以用"javac lie.java" 这个命令编译.
但是编译后却不能用“java lie” 这个命令来输出答案,
执行这个命令后的提示是:
D:\Program Files\javawork\lesson2>java lie
Exception in thread "main" java.lang.NoClassDefFoundError: lie
Caused by: java.lang.ClassNotFoundException: lie
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at j

int x=5,y;
int y = x/2;
第一句已经定义了y,第二句重复定义
将第二句改为:y = x/2;即可 无需再次定义y

写好程序后将文件名改为与类名相同
如此程序应为:lesson21.java(类名字一般首字母是大写,建议改一下类名,同样,文件名也要改)
运行时命令应为:
java lesson21.java
java lie 不是一个命令,

javac 类名.java
java 类名
编译运行是这样的格式

int x=5,y;
int y = x/2;
-----------
第一行已经定义过变量y,第二行又声明了一次,当然要错。
第二行直接改为:y=x/2就行了。

这样就可以用"javac lie.java" 这个命令编译.
但是编译后却不能用“java lie” 这个命令来输出答案,
-------------------------------
javac 编译的是lie.java这个文件,没有错。
java 命令,后面根的是有Mian()函数的类的字节码文件名,也就是.class文件名,你应该输入下面命令:java lesson21 运行。

问题一:
y已经被定义了.
正确的应为:
int x=5;
int y = x/2;
System.out.println(y);
问题二:
去下个MyEclips吧,是IDE开发环境,界面相对友好得多。虽然字符环境对深入理解Java的确有许多帮助,但对学习的积极性打击也不小,别把时间花在诸如配置环境上。个人认为等对Java大致了解了,再来弄配置会更容易些。仅供参考,不对之处多多包涵。

int x=5,y;
int y = x/2;
System.out.println(y);
这里主要是因为你重复声明了局部变量y,所以编译的时候不能通过;
第二个问题应该是你的classpath设置的问题吧