我用下面的程序运行打印不出结果呀?
package numberstring;
public class numbertobinarystringdemo{
public static void main(String[] args){
int int1=55;
System.out.println("Integer.toBinaryString(int1)=" + Integer.toBinaryString(int1));
long long1=252;
System.out.println("Long.toBinaryString(Long1)=" + Long.toBinaryString(long1));
System.out.println("Integer.toOctalString(int1)=" + Integer.toOctalString(int1));
System.out.prin
把package numberstring;去掉就没有问题.........
package numberstring;
public class numbertobinarystringdemo{
public static void main(String[] args){
int int1=55;
System.out.println("Integer.toBinaryString(int1)=" + Integer.toBinaryString(int1));
long long1=252;
System.out.println("Long.toBinaryString(Long1)=" + Long.toBinaryString(long1));
System.out.println("Integer.toOctalString(int1)=" + Integer.toOctalString(int1));
System.out.prin
把package numberstring;去掉就没有问题.........
就是我把那个去掉后才能用呀!G:\javawork\lesson8>java numbertobinarystringdemo.java
Exception in thread "main" java.lang.NoClassDefFoundError: numbertobinarystringd
emo/java你们能运行我不是不相信我只是想我为什么不能运行呀
运行java numberstring.numbertobinarystringdemo
java numberstring.numbertobinarystringdemo
如果你只是在numbertobinarystringdemo类放置的路径下直接运行:
java numbertobinarystringdemo 这样是不行的,因为虚拟机找到合适的类后,还要判断它放置的位置是否正确。你这样运行确实是找到了 numbertobinarystringdemo类,但是虚拟机是在当前路径找到的,不是在numberstring这个包找到的,尽管你确实把它放在numberstring这文件夹下,但是虚拟机首先寻找classpath,结果就找到了,它会认为这个类是默认包的,然后它进入类后发现里面写着:package numberstring ,就是说这个类应该是numberstring包的才对,不是默认包,所以就报错了。
你如果去掉package numberstring这个语句,这个类就是默认包的,所以编译器找到后就不会报错了。
运行,这样虚拟机就会第一时间去包numberstring找那个类,不会从默认包(你的classpath)开始。结果找到的类,然后判断它确实是属于numberstring包,所以运行正常。
应该是javac numbertobinarystringdemo.java
java numbertobinarystringdemo