我已经构建了一个表格图表应用程序。我有一个带有动作事件的计算按钮。因此,首先,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);
因此;我基本上被困在这一行。
答案 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('-')