Java 将特定字符串索引替换为0

Java 将特定字符串索引替换为0,java,actionlistener,actionevent,Java,Actionlistener,Actionevent,我已经构建了一个表格图表应用程序。我有一个带有动作事件的计算按钮。因此,首先,action事件将从名为field的textfield按钮获取文本。之后,它会将字符串转换为int。但是,在将字符串转换为int之前,我想检查一件事。那就是,我想检查字符串索引[0]是否等于“-”,如果是,那么它将更改为0。我试着提出一个if条件,比如 if(text.charAt[0] == "-"){text.setCharAt(0, "0")} 但它说,条件是不可比的,从字符到字符串。 是否有其他方法将索引字符

我已经构建了一个表格图表应用程序。我有一个带有动作事件的计算按钮。因此,首先,action事件将从名为field的textfield按钮获取文本。之后,它会将字符串转换为int。但是,在将字符串转换为int之前,我想检查一件事。那就是,我想检查字符串索引[0]是否等于“-”,如果是,那么它将更改为0。我试着提出一个if条件,比如

if(text.charAt[0] == "-"){text.setCharAt(0, "0")}
但它说,条件是不可比的,从字符到字符串。 是否有其他方法将索引字符替换为0

以下是操作侦听器代码:

calculate = JButton; result = JTextArea; field = JTextField;
calculate.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent evt) {
    result.setText(null);
    String text = field.getText();
    Integer i = Integer.valueOf(text);
    for (int j = 1; j <= 10; j++){
    result.append((i + " " + "x" + " " + j + "=" + " " +(i * j)) + "\n");
}});
而且,;当新字符串设置为“str”而不是“text”时,我无法将str指定为字符串,例如
StringBuilder str=new StringBuilder(str)因此;我基本上被困在这条线上。

在:

text.charAt[0] == "-"
  • text.charAt[0]
    是一个字符
  • “-”
    是一个字符串
此外,决不能对字符或字符串使用
=
。改用
equals()

试一试

试一试
if(text.charAt[0]='-'){text.setCharAt(0,'0')}

“a”-字符串

“a”-字符

text.charAt[0] == "-"
在此行中,检查字符串
“-”
将其更改为
“-”

使用
equals()
而不是
==
,如下所示:

text.charAt[0].equals('-')

这两个代码都工作正常,但在这之后,当我放入
Integer I=Integer.valueOf(str)而不是“文本”,它不接受,因为str是字符串生成器。@ArnaudDenoyelle@user1946440使用
StringBuilder#toString()
Integer.valueOf(str.toString())
@user1946440使用
toString()
方法将字符串生成器转换为字符串。感谢@Arnaud Denoyelle,
Integer.valueOf(str.toString())工作。
text.charAt[0] == "-"
text.charAt[0].equals('-')