在学习一些Java初级类(class)后,遇到了这个问题:
Multiple markers at this line
- Syntax error on token "showMessageDialog", invalid
AnnotationName
- Syntax error on token "(", { expected after this token
- Syntax error on tokens, ConstructorHeaderName expected instead
该行是:
JOptionPane.showMessageDialog(null, "The answer is " +sum, "The Title", JOptionPane.INFORMATION_MESSAGE);
Java 文档说此方法接受 4 个参数,因此我发送 4 个参数。我还导入了所需的库:
import javax.swing.JOptionPane;
JOptionPane.showInputDialog
工作正常,但 JOptionPane.showMessageDialog
不行。我缺少什么?
谢谢。
完整代码
package java_practice;
import javax.swing.JOptionPane;
public class GraphicalUserInterface {
String first_number = JOptionPane.showInputDialog("Enter first number");
String second_number = JOptionPane.showInputDialog("Enter second number");
int num1 = Integer.parseInt(first_number);
int num2 = Integer.parseInt(second_number);
int sum = num1 + num2;
JOptionPane.showMessageDialog(null, "The answer is " +sum, "The Title", JOptionPane.INFORMATION_MESSAGE);
}
最佳答案
您错过了方法声明。您的代码位于类的主体内部,这会混淆编译器/IDE,例如有关无效注释等的错误
需要位于某种形式的方法、 block 或静态 block 内。
public class GraphicalUserInterface {
public static void main(String [] args) { // <=========
String first_number = JOptionPane.showInputDialog("Enter first number");
String second_number = JOptionPane.showInputDialog("Enter second number");
int num1 = Integer.parseInt(first_number);
int num2 = Integer.parseInt(second_number);
int sum = num1 + num2;
JOptionPane.showMessageDialog(null, "The answer is " +sum, "The Title", JOptionPane.INFORMATION_MESSAGE);
} // <=========
}
关于java - JOptionPane.showMessageDialog 无效 AnnotationName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27779703/