0

テーブル チャート アプリケーションを作成しました。アクションイベントのある計算ボタンがあります。したがって、まずアクション イベントは、field という名前のテキスト フィールド ボタンから getText を取得します。その後、文字列を int に変換します。ただし、文字列を int に変換する前に 1 つ確認したいことがあります。つまり、文字列の文字インデックス [0] が「-」に等しいかどうかを確認したいのですが、そうであれば 0 に変更されます。

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');
}        

さらに; StringBuilder str = new StringBuilder(str);新しい文字列が「text」ではなく「str」に設定されている場合、str を「Therefore ; 」などの文字列として割り当てることができませんでした。私は基本的にこの行で立ち往生しています。

4

3 に答える 3

1

の :

text.charAt[0] == "-"
  • text.charAt[0]charです。
  • "-"文字列です。

==さらに、 Character または String に対しては絶対に使用しないでください。equals()代わりに使用してください。

試す

text.charAt[0].equals('-');
于 2013-12-05T15:01:11.323 に答える
0
text.charAt[0] == "-"

この行で文字列をチェックすると、次の"-" ように変更されます'-'

の代わりに==、次のように使用equals()します。

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