Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

substringで「+」を認識してくれません・・・

文字の頭に「+」がついていたらそれを削除するプログラムを作りました。

public class sample{

 public static void main(String args[]) {
  String str1,str2;
  int a,b;

  str1 = "+2";
  str2 = "-5";

  if(str1.substring(0, 1) == "+") ・・・(1)
   str1 = str1.substring(1);
  if(str2.substring(0, 1) == "+") ・・・(1)
   str2 = str1.substring(1);
  
  a = Integer.parseInt(str1)
  b = Integer.parseInt(str2)

  System.out.println(a * b);
 }
}

しかし、(1)の箇所でsubstringが「+」を認識してくれません・・・
同じ半角の「+」の筈なのに・・・

substringで取り出した「+」と(1)の行の"+"は何が違うのでしょうか?

3

回答

5575

閲覧

3件の回答

評価

0

Javaで、文字列比較時に使うのは、「=」じゃありません。
じゃあどうするのか、は、教科書を読み返してみましょう。

評価

0

googleで『java 文字列比較』で検索をかけたら、
「equals()を使えば良い」と書かれていましたのでそれを使用したら上手くいきました。

どうも失礼しました。
文字列比較に「=」を使うことが出来ないことは知らなかったです・・・

評価

0

文字列中の1文字を評価するのにsubstring()はもったいない。
charAt()で十分だ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。