我在这里很陌生,但让我们直接解决这个问题:当我为一个类项目计算器编写以下代码时,遇到了“令牌错误”。这是完整的错误消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error on token "else", delete this token
at calculatorApplet.main(calculatorApplet.java:42)
我写了这段代码:
import java.util.Scanner;
import javax.swing.JOptionPane;
public class calculatorApplet
{
Scanner sc = new Scanner(System.in);
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null, "Welcome to the Calculator!");
String option = JOptionPane.showInputDialog(null, "Which calculator mode do you want?");
if (option.equals("Addition"))
{
Double add1 = Double.parseDouble(JOptionPane.showInputDialog(null, "Okay type the first number(s) of your addition problem."));
Double add2 = Double.parseDouble(JOptionPane.showInputDialog(null, "Now type the second number(s) of your addition problem."));
Double preAdd = add1+add2;
Double Add = preAdd;
JOptionPane.showMessageDialog(null, "The sum is " + Add + ".");
}
else
{
JOptionPane.showMessageDialog(null, "Huh?");
}
if (option.equals("Subtraction"))
{
Double sub1 = Double.parseDouble(JOptionPane.showInputDialog(null, "Okay type the first number(s) of your subtraction problem."));
Double sub2 = Double.parseDouble(JOptionPane.showInputDialog(null, "Now type the second number(s) of your subtraction problem."));
Double preSub = sub1-sub2;
Double Sub = preSub;
JOptionPane.showMessageDialog(null, "The difference is " + Sub + ".");
}
else
{
JOptionPane.showMessageDialog(null, "Huh?");
}
if (option.equals("Multiplication"));
{
Double mult1 = Double.parseDouble(JOptionPane.showInputDialog(null, "Okay type the first number(s) of your multiplication problem."));
Double mult2 = Double.parseDouble(JOptionPane.showInputDialog(null, "Now type the second number(s) of your multiplication problem."));
Double preMult = mult1*mult2;
Double Mult = preMult;
JOptionPane.showMessageDialog(null, "The product is " + Mult + ".");
}
else //Here is the error.
{
JOptionPane.showMessageDialog(null, "Huh?");
} //Here ends the error.
if (option.equals("Division"))
{
Double div1 = Double.parseDouble(JOptionPane.showInputDialog(null, "Okay type the first number(s) of your division problem."));
Double div2 = Double.parseDouble(JOptionPane.showInputDialog(null, "Now type the second number(s) of your division problem."));
Double preDiv = div1/div2;
Double Div = preDiv;
JOptionPane.showMessageDialog(null, "The quotient is " + Div + ".");
}
else
{
JOptionPane.showMessageDialog(null, "Huh?");
}
//End of if statements.
}
}
这就是代码,我注释了令牌错误所在的区域。也许解决方案就对了。我希望我的代码成为一个计算器,以便你们可以修正我的代码,使其不与数学运算冲突。谢谢,感谢您的帮助。
问题是分号之后的分号if
。
语法为if
(
条件 )
expression-or-block { else
expression-or-block }
因为;
是一个空表达式,所以它对if子句有效,而then子句中什么也没有发生-
在您的语法上,没有else子句,因为您的if语句语句以分号结尾并且后面是一个简单的块。然后分词器检测到悬挂的else
令牌并抱怨。
所以我在第37行的else if中出现了错误,我不知道为什么会发生这种情况。IDE说:“令牌”else“语法错误,删除这个令牌”。多谢了。
我不知道该怎么做,是不是有一个错误,我遵循了所有的步骤,在教程中,我正在看。它只是说删除令牌
谢谢!!
谁能告诉我编译错误是什么吗 线程“main”java.lang中出现异常。错误:未解决的编译问题:令牌“rs”上的语法错误,删除此令牌SelectTest.main处的类型字符串的方法getString(int)未定义 在下面的java代码中
我正在做一个java自动售货机操作系统,我刚刚将我的原始项目导入到eclipse中,并添加了一个guy页面,从那以后,无论我做什么,它到处都是错误,我能得到一些帮助吗?现在的主要错误是“令牌的语法错误,错误的构造”,如果代码是坏的或者是低效率的,我会提前道歉。
问题内容: 这是我的代码一直在给问题。 我不知道为什么要这么做。 编辑: 我已根据您的要求进行了编辑,以查看更多代码。 问题答案: 您要在课程外声明一个字段: 它必须放在一个类中: