【问题标题】:Adding integers添加整数
【发布时间】:2015-08-19 06:27:13
【问题描述】:

我是 Java 和 android 编程的新手。有人可以向我解释这里有什么问题吗? 当我运行它时,它给了我错误:

错误:表达式的非法开始,错误:需要标识符,错误: 不是语句,错误:';'预期,错误:“)”预期, Error:illegal start of type, Error:reached end of file while parsing.

代码如下:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Button
    Button btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });


    //EditText
    EditText nop = (EditText) findViewById(R.id.editText);
    EditText cob = (EditText) findViewById(R.id.editText2);

    cob.getText().toString();
    nop.getText().toString();

    public void total = cob+ nop;

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        tv.setText(final.total)
        })

        //TextView
    TextView tv = (TextView) findViewById(R.id.textView);
}
}}

【问题讨论】:

  • 这里加分号 tv.setText(final.total)
  • 这段代码至少有六个问题。
  • 你不能在方法内部使用访问修饰符,因为它们的作用域就在方法内部
  • 学习Java并尝试自己理解错误。将来会帮助你很棒。不要相信复制粘贴。这段代码的问题太多了。修复一个会指向另一个。
  • 正如建议的那样,尝试解决您的错误并要求更具体的错误是一个很好的做法,继续编码

标签: java android


【解决方案1】:
btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        tv.setText(final.total)
        })

应该紧跟一个 ';',setText 调用也是如此。

这样的错误总是意味着你忘记了其中一个,或者放错了/忘记了一些括号,...

由于您没有说明确切的错误消息:我只是猜测是这个错误,但您的代码中可能还有更多错误信息。

编辑:

而且,正如其他人已经提到的:public void total = cob+ nop; 完全没有意义。 void 在 Java 中不是有效的数据类型,因此您不能声明“void”。

【讨论】:

    【解决方案2】:

    第二个按钮点击事件不对。

    btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
        tv.setText(final.total);
            }
        });
    

    total 也是错误的。

    应该是

    int total = Integer.parseInt(cob.getText().toString()) + Integer.parseInt(nob.getText().toString()) ; 
    

    把所有这些放在一起

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //EditText
        EditText nop = (EditText) findViewById(R.id.editText);
        EditText cob = (EditText) findViewById(R.id.editText2);
        TextView tv = (TextView) findViewById(R.id.textView);
        int a = Integer.parseInt(cob.getText().toString());
        int b = Integer.parseInt(nop.getText().toString());
    
        public void total = a + b;
    
        Button btn = (Button) findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv.setText(total);
            }
        });
     }
    

    【讨论】:

      【解决方案3】:
        int total = Integer.parseInt(cob.getText().toString())+ Integer.parseInt( nop.getText().toString());
      
      btn.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
          tv.setText(String.valueOf(total));
          });
      

      删除

      cob.getText().toString();
      nop.getText().toString();
      
      public void total = cob+ nop;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-04
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 2016-06-28
        相关资源
        最近更新 更多