语法错误

时间:2013-02-08 23:59:59

标签: java android syntax

我写了这段代码来从计算器中返回值:

try {
    startActivity(intent);

    @Override
    protected void onActivityResult (int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            // User pressed OK.
            double value = data.getDoubleExtra("X", Double.NaN);
            if (Double.isNaN(value)) {
                // Calculation result was "Error".
            } else {
                // Calculation result ok.
            }
        } else {
        // User pressed cancel or back button.
        }
    }
}

它在行中为括号,逗号和单词Intent提供了语法错误:

protected void onActivityResult (int requestCode, int resultCode, Intent data) {

为什么它需要分号而不是所有这些符号。你知道为什么吗?

2 个答案:

答案 0 :(得分:6)

此代码:

protected void onActivityResult (int requestCode, int resultCode, Intent data)...

声明一个方法。你不能只在任何地方声明一个方法;它必须是一个集体。在这里,您尝试在另一种方法中声明onActivityResult,但Java不允许这样做。

答案 1 :(得分:0)

我认为你混淆了一些事情。如果您在Eclipse中,编辑器会尝试向您显示语法错误所在的位置,但在这种情况下,此功能有太多错误无法使用。

Java语言(如Matt Ball所说)将您的行作为方法的声明。在那个地方期待的是一条指令(这就是为什么它告诉你它正在期待冒号)。如果你把它放入,它会告诉你protected和void关键字是错误的,依此类推......