我不明白为什么在以下代码中:
System.out.println("Enter start time");
String startTime = console.nextLine();
String [] tokens = startTime.split(":");
double starttimeHours = Double.parseDouble(tokens[0]);
double pickupMinutes = Double.parseDouble(tokens[1]);{
if (starttimeHours >=6 && starttimeHours <=9 ){
int peaktimeWage = 4;}
else if (starttimeHours >=1 && starttimeHours <=5 ){
int peaktimeWage = 2;}
else {int peaktimeFare = 3;}{
System.out.println(peaktimeWage);
我不断收到错误“ peaktimeWage无法解析为变量”。在代码的最后一行是:
System.out.println(peaktimeWage);
因为它是先前定义的变量,所以甚至在该变量旁边说不使用该变量。在打印输出时,我检查了是否以与以前的代码相同的方式编写了它。所以我不知道问题是什么。有人知道吗
最佳答案
peaktimeWage
的范围仅限于您的if
和else
。在if else
之外声明
int peaktimeWage = -1;
if (starttimeHours >=6 && starttimeHours <=9 ){
peaktimeWage = 4;
} else if (starttimeHours >=1 && starttimeHours <=5 ){
peaktimeWage = 2;
}
关于java - 尝试打印并获取:“无法解析为变量”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12488449/