//看楼主问为什么能编译但不能运行,说明楼主应该是Java的初学者吧,Java程序其实编译和运行是两回事,没有必然联系的。刚才你的问题,在下面有注释的,这样就可以运行了,记得把类修改为test.java哦。运行下面
import java.util.*;
//这里不能用car ,重新起一个名字,因为和下面的class Car冲突了。
public class test {
private static Scanner input;
public static void main(String args[]){
input = new Scanner(System.in);
System.out.println("请输入车主姓名,车速,方向盘角度");
Car car=new Car(input.next(),input.nextFloat(),input.nextFloat());
System.out.println("车主姓名为:"+car.getOwnerName());
System.out.println("当前车速为:"+car.getCurSpeed());
System.out.println("当前方向盘角度为:"+car.getCurDirInDegree());
System.out.println("修改车速");
System.out.println("新的车速为:");
car.changeSpeed(input.nextFloat());
System.out.println("在调用changeSpeed(80)后,车速为"+car.getCurSpeed());
car.stop();
System.out.println("在调用stop()后,车速为"+car.getCurSpeed());
}
}
class Car {
private String ownerName; //车主姓名
private float curSpeed; //当前车速
private float curDirInDegree; //当前方向盘转向角度
public Car (String ownerName){
this.ownerName=ownerName;
}
public Car (String ownerName, float speed, float dirInDegree){
this(ownerName);
curSpeed=speed;
curDirInDegree=dirInDegree;
}
public String getOwnerName() { //提供对车主姓名的访问
return ownerName;
}
public float getCurDirInDegree() { //提供对当前方向盘转向角度的访问
return curDirInDegree;
}
public float getCurSpeed() { //提供对当前车速的访问
return curSpeed;
}
public void changeSpeed(float curSpeed) { //提供改变当前的车速
this.curSpeed=curSpeed;
}
public void stop(){ //提供停车
curSpeed = 0;
}
}
请采纳答案,支持我一下。
‘贰’ java可以编译但是不能运行
java.lang.NoClassDefFoundError:
当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。
当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。
检查拼写
‘叁’ java代码能编译但运行没有效果
add(t,BorderLayout.CENTER);改为add(p,BorderLayout.CENTER);
修改后的代码:
importjava.awt.*;
importjavax.swing.*;
publicclassjsqextendsJFrame
{
JPanelp=newJPanel(newGridLayout(5,4,3,3));
JTextFieldt=newJTextField();
Stringst[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+","exit"};
publicjsq(Strings)
{
setLayout(newBorderLayout());
JButtonb[];
b=newJButton[st.length];
for(inti=0;i<st.length;i++)
{
b[i]=newJButton(st[i]);
p.add(b[i]);
}
add(p,BorderLayout.CENTER); //加一句
add(t,BorderLayout.NORTH); //改为NORTH
setVisible(true);
setSize(350,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
publicstaticvoidmain(String[]args)
{
jsqjs=newjsq("网格布局计算器");
}
}
执行效果:
‘肆’ 为什么我的java可以编译但是却运行不了
能具体的把你的代码贴上来?
配置了环境变量了没。有无main函数?
‘伍’ 为什么Java程序可以编译却不能运行解释
这个问题是你classpath配置的有问题,
估计你是没在classpath下加上当前路径,所以JVM只能找系统的classpath,没找到你的文件。
在classpath系统环境变量中加上.;试试。
‘陆’ 为什么java程序能编译却不能运行
哦,你没写程序的入口方法
public
static
void
main(string[]
args){}
在main函数的方法体中构造个对象调用你所写的方法即可
‘柒’ 为什么我编写的一个JAVA程序不能编译,但是可以运行
首先,我实在受不了ufo2030ufo 小白同志,人家显然是写j2me程序,不懂别叫嘛。
然后呢,我也很服楼主,一个不能编译的程序可能运行么?
楼主所说的不能编译究竟是指什么?不能产生class?jad?jar?还是别的什么?老实说,你的两个程序其实一样,既然第二个正确,第一个不会错的,应该是运行环境配置有问题
‘捌’ 我运行java程序的时候可以编译通过但不能运行是为什么
是你的class_path有问题,可能没有设置本地路径"."为classpath
http://book.csdn.net/bookfiles/135/1001354591.shtml
详解
‘玖’ java编译成功,但是不能运行,怎么回事。
起初你或许会认为是一个莫名其妙的错误,因为代码根本一点问题的都没有,可运行期间总是报这个错,比较郁闷。
出现Could not find the main class.program will exit和java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。
因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出Could not find the main class.program will exit,java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这个错误尤其在JDK5与JDK5之前的版本上表现明显。因为,JDK5在Java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都无法辨认!
详细请参考:
http://blog.csdn.net/wangcheng8080/archive/2008/05/29/2492265.aspx