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

时间:2013-12-05 14:59:24

标签: java actionlistener actionevent

我已经构建了一个表格图表应用程序。我有一个带有动作事件的计算按钮。因此,首先,action事件将从名为field的文本字段按钮获取文本。之后它会将字符串转换为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");
}});

我已尝试过以下代码,但我无法弄清楚如何将'text'分配给'str':

    if(text.charAt(0) == '-'){
     StringBuilder str = new StringBuilder(text);
     str.setCharAt(0, '0');
}        

此外;当新字符串设置为'str'而不是'text'时,我无法将str指定为字符串,例如StringBuilder str = new StringBuilder(str);因此;我基本上被困在这一行。

3 个答案:

答案 0 :(得分:1)

在:

text.charAt[0] == "-"
  • text.charAt[0] char
  • "-"字符串

此外,永远不要在字符或字符串上使用==。请改用equals()

尝试

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

答案 1 :(得分:0)

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

“a” - 字符串

'a' - char

答案 2 :(得分:0)

text.charAt[0] == "-"

在此行中检查字符串"-",将其更改为'-'

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

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