Java错误“未使用局部变量的值”
我是java的新手(2天前开始学习)。 对不起,如果这是一个愚蠢的问题。 我正在尝试学习如何使用rt.exec和类似的方法,所以我试图制作一个运行calc.exe的非常简单的程序。 这是代码:
public class main { { try { Runtime rt = Runtime.getRuntime() ; Process p = rt.exec("calc.exe") ; } catch(Exception exc){/*handle exception*/} } }
我收到错误“未使用局部变量p的值”。
如果我尝试编译这是我得到的:
我认为它很容易修复,但我不知道如何。 如果有人帮忙会很好。
好吧,错误“不使用局部变量p的值。”,实际上并不是错误。 它是您的IDE(Eclipse),警告您实际上并没有读取该变量,因此您没有收到任何输入。
你class上的另一个问题是,你没有主要的方法。 喜欢这个,
public class main { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime() ; Process p = rt.exec("calc.exe") ; } catch(Exception exc){ /*handle exception*/ } } }
顺便说一句,你应该总是用一个带有大写字母的类名开头。 所以public class main
,实际上应该是public class Main
您得到该错误,因为您没有用于启动Java程序的main
方法:
public class main { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime() ; Process p = rt.exec("calc.exe") ; // here, eclipse is WARINING(so you can ignore it) you that that the variable p is never used(it's just a warning) } catch(Exception exc) { /*handle exception*/ // never do this, always put at least a System.out.println("some error here" + e); so you don't ignore a potential exception } }
我相信你拥有的不是错误而是警告; eclipse(以及其他IDE /编译器)会告诉您,虽然您为变量p赋值,但您没有在任何地方使用它。 它告诉你这个,因为这有时是一个错误; 大多数情况下,当您为变量赋值时,您稍后会以某种方式使用该变量。
您可以通过将该特定语句更改为just来消除错误
rt.exec("calc.exe")
因为您不需要从对exec的调用中分配值。
没有愚蠢的qiestion(只有错位的,在最坏的情况下)。
“编辑器不包含主类型”是指您尚未定义主方法的事实。 所有java程序都需要一个main方法,如下所示:
public static void main(String [] args){
}
这是您必须放置代码的地方。
“未使用的价值”只是一个警告; 它告诉你,你的变量p只存在于try-block中。 您可以在尝试之前声明您的p变量 - 这样,您可以在try-scope之外使用它(变量的范围指的是它存在的位置,在这种情况下,仅在try-block内)。
如果你想使用你的p,这就是你想要的:
public class Main { public static void main(String[] args) { Process p; try { Runtime rt = Runtime.getRuntime(); p = rt.exec("calc.exe"); } catch(Exception exc) {/*handle exception*/} } }
[编辑]:请注意,它是Java编码约定的一部分,使用大写字母作为类的第一个字母,例如Main.java(不是main.java)
变量的使用在这里没有问题。 出现该错误是因为JVM需要一个带签名的方法来知道从哪里开始执行。
public static void main( String args[] ){ //TODO: Stuff here }
在你的class级中引入一个带有此签名的方法,它将清除该错误。 或者,您可以将代码嵌入到静态块中,如下所示 – 但不建议使用此方法。
static { // TODO: Your code here }
错误“未使用局部变量p的值”,因为代码中没有任何地方,您不使用变量p。
要删除错误 – 必须删除变量“p”。
要运行计算器,您必须使用以下代码:
public class MainClass { public static void main(String args[]) throws IOException { Runtime.getRuntime().exec("cmd /c calc.exe"); } }
此翻译由Google翻译翻译而来
你没有使用main怎么编译请使用main方法。 Ans第二个是在你的方法中使用p局部变量。另外一个方法是声明p变量的方法。