有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为什么“+”运算符未定义?JAVA

我在eclipse中编写了这段代码=

斯特拉特班(我做错了)

import javax.swing.JFrame;
public class strart {

public static void main(String args[])
{
    Window object = new Window();

    object.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    object.setSize(300,250);
    object.setVisible(true);
}

}

窗口类

  import javax.swing.JFrame;
  import javax.swing.JButton;
  import java.awt.TextField;
  import java.awt.FlowLayout;
  import java.awt.TextField;
  import java.awt.Event.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;

  public class Window extends JFrame {
TextField kimeno = new TextField(25);
TextField dkimeno = new TextField(25);
TextField n1 = kimeno;
TextField n2 = dkimeno;
private JButton plus;
public Window()
{
    super("Math engine");
    setLayout(new FlowLayout());
    plus = new JButton("+");
    plus.setFocusable(false);
    plus.addActionListener(new EnableButton());
    add(plus);
    add(kimeno);
    add(dkimeno);
}

public class EnableButton implements ActionListener
{
    public void actionPerformed(ActionEvent e)
    {
        System.out.println(n1+n2);
    }

    }
  }

但我仍然在Window类的第32行中遇到一个错误 错误为“参数类型java.awt.TextField、java.awt.TextField的运算符+未定义”


共 (2) 个答案

  1. # 1 楼答案

    +运算符对于TextField对象没有意义。你想要

    System.out.println(n1.getText() + n2.getText());
    
  2. # 2 楼答案

    添加两个TextField对象意味着什么?Java中的+运算符只能用于数字或字符串的操作数。(好吧,这稍微简化了一点,您可以在Java语言规范中查找确切的规则。)

    如果要计算文本字段中存储的两个数字字符串(我假设为整数)的总和,可以使用以下方法:

    Integer.parseInt(n1.getText()) + Integer.parseInt(n2.getText())
    

    当然,您应该添加一些错误处理