问题描述
if (args[0].equalsIgnoreCase("begin")) {
long startTime;
startTime = (System.currentTimeMillis() / 1000);
} else if (args[1].equalsIgnoreCase("stop")) {
long endTime;
endTime = (System.currentTimeMillis() / 1000);
} else if (args[1].equalsIgnoreCase("timer")) {
long currentTime;
long currentTimeForm;
currentTime = (System.currentTimeMillis() / 1000);
currentTimeForm = currentTime - startTime;
}
保存错误消息startTime cannot be resolved to a variable
。是否可能由于将其分隔为单独的if
语句而没有获取变量?我正在编写Bukkit minecraft插件。
解决方法
在if级联之外或作为类的成员声明变量;您的问题中的上下文太少了,无法更加准确
public class Main {
public static void main(String[] args) {
DAO.PeriodicTable(); // Just trying to at least print all elements on the list
}
}
,
您必须像这样实例化变量:
startTime
但是,由于在每种情况下都使用endTime
,因此只需在if语句之外实例化它即可。在某些情况下,您也从未定义 long currentTime=0;
long endTime=0;
if (args[0].equalsIgnoreCase("begin")) {
startTime = (System.currentTimeMillis() / 1000);
} else if (args[1].equalsIgnoreCase("stop")) {
endTime = (System.currentTimeMillis() / 1000);
} else if (args[1].equalsIgnoreCase("timer")) {
currentTime = (System.currentTimeMillis() / 1000);
currentTimeForm = currentTime - startTime;
}
,所以这是经过完全修改的代码。
{{1}}