java可以运行但是在命令行里javac不行是为什么

Python021

java可以运行但是在命令行里javac不行是为什么,第1张

在cmd中可以运行java,但运行javac命令时提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。\x0d\x0a原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了。这时候你在lib下也找不到tools.jar和dt.jar.\x0d\x0a解决:\x0d\x0a1)卸载java,直接用windows自带的卸载这两个有关java的程序;\x0d\x0a2)重新安装java,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为C:\Program \x0d\x0aFiles\Java\jdk1.8.0_144,第二次是让你选择jre的安装路径,选择为C:\Program \x0d\x0aFiles\Java\jre(在java目录下新建文件夹jre);\x0d\x0a3)环境配置(控制面板-系统-高级系统设置-环境变量)\x0d\x0a变量名:Path\x0d\x0a变量值:C:\Program Files\Java\jdk1.8.0_144\bin\x0d\x0a打开cmd,输入java,javac和java -verbose都成功,就说明安装成功了;\x0d\x0a关于环境配置,网上有很多不同的版本,好吧,用了一晚上挨个试,试到怀疑人生。。。不知道是不是只有我不行,但是写出几种提供参考(万一是我电脑有毛病了呢)\x0d\x0a第一种:在path环境变量的最前端加上你自己的jdk的这两个目录path= C:\ProgramFiles\Java\jdk1.7.0_67\binC:\Program Files\Java\jdk1.7.0_67\bin\jre\bin\x0d\x0a第二种:新建变量(在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre,安装路径分别选择为D:\java\jdk,D:\java\jre)\x0d\x0a变量名:Path\x0d\x0a变量值:C:\ProgramData\Oracle\Java\javapath%java_home%\bin%java_home%\jre\bin\x0d\x0a变量名:JAVA_HOME\x0d\x0a变量值:D:\java\jdk\x0d\x0a变量名:ClassPath\x0d\x0a变量值:.%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar

//看楼主问为什么能编译但不能运行,说明楼主应该是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

}

}

请采纳答案,支持我一下。