【问题标题】:Eclipse:error missing (,} [closed]Eclipse:错误丢失(,} [关闭]
【发布时间】:2014-06-22 08:55:10
【问题描述】:
package com.elitiv.calculatorvamalv2;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.os.Build;

public class MainActivity extends ActionBarActivity {

  private EditText editYear;
  private EditText editCapacity;
  private EditText Result;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  
    TextView Year = (TextView)findViewById(R.id.Year);
    TextView Capacity = (TextView)findViewById(R.id.Capacity);
    editYear = (EditText)findViewById(R.id.editYear);
    editCapacity = (EditText)findViewById(R.id.editCapacity);
    Result = (EditText)findViewById(R.id.Result);
    Button   calc =(Button)findViewById(R.id.calc);
    final RadioButton RadioD = (RadioButton)findViewById(R.id.radioD);
    final RadioButton RadioB = (RadioButton)findViewById(R.id.radioB);
    
    calc.setOnClickListener(new View.OnClickListener() {
        
        @Override
        public void onClick(View v) {
            double editYear = editYear.getText().toString();
            double editCapacity = editYear.getText().toString();
            
            if(RadioB.isChecked()){
                switch(editYear){
                case 2014:
                    if(editCapacity >0 && NCapacity <1000){
                        Result = editCapacity*0.57;
                    
                }
                    if(editCapacity >1000 && editCapacity <1500){
                        Result = editCapacity*0.67;
                    
                }
                    if(editCapacity >1501 && editCapacity <2000){
                        Result = editCapacity*1.00;
                    
                }
                break;
            }
            
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
});


}
}

我正在尝试制作一个通过条件添加 2 个值的简单应用程序,但由于 2 个错误,它还没有编译应用程序:

令牌“)”上的语法错误,{ 预期 MainActivity.java /CalculatorVamalV2/src/com/elitiv/calculatorvamalv2 第 65 行 Java 问题

语法错误,插入“}”完成ClassBody MainActivity.java /CalculatorVamalV2/src/com/elitiv/calculatorvamalv2 第86行Java问题

当 android studio 给我一个问题时,我切换到 eclipse,反之亦然。

【问题讨论】:

  • 错误信息非常具有描述性。检查文件MainActivity.java,第 65 行并修复它。第 86 行类似。
  • 第 65 行在哪里?第 86 行?
  • 看看onOptionsItemSelected...(最后..可能是一个额外的“)”)
  • @Code-Guru 代码包括包名,所以你可以假设这是文件的全部内容。我在我的文本编辑器(Windows 中的 Notepad++)中复制/粘贴,发现第 65 行和第 86 行中的错误没有问题。
  • 哦,很多人,很抱歉让你花时间来犯我这么严重的错误,祝你好运

标签: java android eclipse


【解决方案1】:

错误消息非常具有描述性。检查文件MainActivity.java,第 65 行并修复它。第 86 行类似。

无论如何,这些都是错误:

令牌“)”上的语法错误,{ 预期 MainActivity.java /CalculatorVamalV2/src/com/elitiv/calculatorvamalv2 第 65 行 Java 问题

您在内部类定义中错过了一个右大括号 }

@覆盖 受保护的无效 onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

    TextView Year = (TextView)findViewById(R.id.Year);
    TextView Capacity = (TextView)findViewById(R.id.Capacity);
    editYear = (EditText)findViewById(R.id.editYear);
    editCapacity = (EditText)findViewById(R.id.editCapacity);
    Result = (EditText)findViewById(R.id.Result);
    Button   calc =(Button)findViewById(R.id.calc);
    final RadioButton RadioD = (RadioButton)findViewById(R.id.radioD);
    final RadioButton RadioB = (RadioButton)findViewById(R.id.radioB);

    calc.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            double editYear = editYear.getText().toString();
            double editCapacity = editYear.getText().toString();

            if(RadioB.isChecked()){
                switch(editYear){
                case 2014:
                    if(editCapacity >0 && NCapacity <1000){
                        Result = editCapacity*0.57;

                }
                    if(editCapacity >1000 && editCapacity <1500){
                        Result = editCapacity*0.67;

                }
                    if(editCapacity >1501 && editCapacity <2000){
                        Result = editCapacity*1.00;

                }
                break;
            }

        }
                } // <-- add this here
    });
}

语法错误,插入“}”完成ClassBody MainActivity.java /CalculatorVamalV2/src/com/elitiv/calculatorvamalv2 第86行Java问题

你这里没有匿名类,所以不需要);

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

除此之外,您在类的定义末尾还有一个大括号 }


如何避免这些问题?

Indent your code。由于您使用的是 eclipse 和 android development studio(基于 Eclipse),因此您可以使用此快捷方式让 IDE 自动为您自动格式化代码:Ctrl + Shift + F.

【讨论】:

    【解决方案2】:

    有一种快速简便的方法来识别 } ) 和 ; Eclipse 中的错误。我可以看到您的间距和缩进已关闭且未标准化。

    在 Eclipse 中,突出显示整个班级,或按 ctrl-a。

    然后按住 shift-ctrl 并按 f。这会自动格式化您的代码并正确缩进。这应该可以很容易地找出您缺少 } 的位置。我知道这适用于 Eclipse 的 Windows 版本。

    【讨论】:

    • 这并没有指出实际的错误。请注意其他答案如何指出实际错误显示如何格式化代码。
    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2015-12-12
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多