-1

電卓から値を返すためにこのコードを書きました:

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.
        }
    }
}

また、次の行の角かっこ、コンマ、単語の意図の構文エラーが発生します。

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

これらすべての記号の代わりにセミコロンが必要な理由がいくつかあります。理由がわかりますか?

4

2 に答える 2

6

このコード:

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

メソッドを宣言します。どこでもメソッドを宣言することはできません。クラス本体に含まれている必要があります。ここではonActivityResult、別のメソッドで宣言しようとしていますが、Javaではそれが許可されていません。

于 2013-02-09T00:01:59.523 に答える
0

あなたはいくつかのことを混乱させていると思います。Eclipseを使用している場合、エディターは構文エラーがどこにあるかを表示しようとしますが、このような場合は、エラーが多すぎてこの機能を使用できません。

Java言語(Matt Ballが言うように)は、あなたの行をメソッドの宣言と見なします。その場所で期待しているのは命令です(これが、コロンを期待していることを示している理由です)。これを入力すると、保護されたキーワードと無効なキーワードが間違っていることがわかります。

于 2013-02-09T00:13:29.677 に答える