0

我已经建立了一个表格图表应用程序。我有一个带有动作事件的计算按钮。因此,首先,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");
}});

我已经尝试了下面的代码,但我不知道如何将“文本”分配给“str”:

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

而且; 当新字符串设置为“str”而不是“text”时,我无法将 str 分配为字符串,例如StringBuilder str = new StringBuilder(str);因此;我基本上被困在这条线上。

4

3 回答 3

1

在 :

text.charAt[0] == "-"
  • text.charAt[0]是一个字符
  • "-"是一个字符串

此外,您永远不应该==在字符或字符串上使用。改为使用equals()

尝试

text.charAt[0].equals('-');
于 2013-12-05T15:01:11.323 回答
0

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

"a" - 字符串

'a' - 字符

于 2013-12-05T15:02:53.330 回答
0
text.charAt[0] == "-"

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

代替==,使用equals()如下:

text.charAt[0].equals('-')
于 2013-12-05T15:10:54.340 回答