• ベストアンサー

equals() を使って、変数に入っている文字列を比較

いつも大変お世話になっております。 下記のように、変数に入った値によって条件分岐をしたいのですが、 うまくいきません・・。 どのように書くべきでしょうか。  変数aaaに入っている値がnaninaniだったら”~~~”と処理したいのですが。 if(aaa.equals("naninani")){ ~~~省略~~~ } 何卒、初心者なので途方もない質問かもしれませんが、よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

だいたい合っていますが、文字列(String)にはnullがあるので、 以下のようにする方が良いでしょう。 (1)if (( aaa != null ) && ( aaa.equals("naninani") )) { (2)if ( "naninani".equals(aaa) ) { 各ステートメントの意味 (1)nullでなければequalsメソッドで比較する。 (2)nullでない文字列"naninani"にequalsメソッドを使う。 "naninani".equals(aaa) は aaa が null だと false になります。

somehow123
質問者

お礼

回答ありがとうございます。 nda23さんのアドバイス通りやってみたのですが、 どうしてもif文の{ }ないはスルーされてしまいます。 なんででしょう・・・・ お手上げです・・・。

somehow123
質問者

補足

すいません、 理由が結局わからなかったのですが、解決しました。 ありがとうございました。

その他の回答 (1)

回答No.1

あっているようにみえますよ。 意図したように動いていないのでしたら変数aaaの値に問題があるかもしれません。 変数aaaの値をSystem.out.println("aaa=" + aaa)とかで 表示してみてはどうでしょうか?

関連するQ&A

  • Bシェル 変数にある文字列が含まれているか調べる方法

    if文で変数$AAAの中にxxxという文字列が含まれているか調べる方法がわかりません。 初心者の質問で申し訳ございませんが、お願いします。

  • 値の比較を効率よく行う方法を教えてください

    最近、Perlによるプログラミングを始めました。 いろいろ学習していて不明なことがあったので、質問させていただきます。 比較による処理の分岐で、毎回比較する変数名と値は決まっています。 変数には、if文の外でforなどの処理により毎回違う値が格納されています。 このとき、何も考えずに力技で書けば if ($value eq 'aaa' || $value eq 'bbb' || $value eq 'ccc' || $value eq 'ddd' ||・・・){ # 処理 } となると思います。 これでも、処理はできるのですが、比較する値が少ないうちはいいですが、多くなったとき効率が悪いと思います。 それに、スマートではないですし・・・。 これを、効率よく処理なおかつスマートに書ける方法があれば、教えてやってください。 初心者の質問で申し訳ないですが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • (Java) == と equals について

    Javaで、 「もしtestという参照型変数がnullだったら○○する」 というIF文を書きたい場合は、 下記ABどちらの方法が正しいのでしょうか? (判定したい内容によっても異なるかも知れませんが。) ■パターンA Test test = null; if (test.equals(null)) { //TODO } ■パターンB Test test = null; if (test == null) { //TODO } よろしくお願いします。

    • ベストアンサー
    • Java
  • PHPで変数のデータ受け渡しについて

    HTMLで下記のようにして入力された データを次ページに受け渡し、 issetで変数に値が代入されていれば ifで分岐処理させたいのですが、 elseの処理しかできません。    <FORM action="次ページ.php" method="GET">    キーワード<BR>    <INPUT type="text" name="keyword">    <INPUT type="submit" value="ボタン"> ボタンをクリックしたら次ページで    if (isset($keyword)) {     分岐処理1;     }    else{     分岐処理2;     } と行いたいのですが、$keywordに値が 代入されているにも関わらず elseの処理がされてしまいます。 どこか構文が間違っているのでしょうか。 どうか教えてください。

    • ベストアンサー
    • PHP
  • 文字列の配列の比較

    こんにちは。タイトルどおり簡単な質問なのですが、どうしても確認したいのでお願いします。 とあるメソッドで、2次元配列の中にいくつか大文字のOが入ってるのですが、与えられた配列にOがあればtrueを返し、なければfalseを返します。 public boolean cellAt(int row, int col){ if(space[row][col].equals("O")) return true; else return false; } rowとcolはテストメソッドから値を受け取ります。 これでプログラム自体は動くのですが、WebCatという自動的に採点するものがあるのですが、それによるとエラーがでてしまいます・・・。 どこが違うのかは教えてくれないのですが・・・。 上で間違っているとすれば、文字列の比較くらいしかないんじゃないかと思うのですが、 space[row][col].equals("O") これで比較できますよね? 他のを調べて、if (Arrays.equals(space[row][col], "O"))これを試してもみたのですが、赤線が出てしまって無理でした。 どなたか宜しくお願いします。

  • C言語 文字列比較

    WindowsAppのコマンドライン引数はLPSTR型ですよね、コマンドライン引数が~だったら、というような条件分岐を作りたいのですが、strcmpは使えません。それで、どうすればいいのか分からなくなってしまい、質問しました。 WindowsAppではあるけど、コマンドラインオプションを使いたいのですが、どうやって文字列をしたらいいのでしょうか? もしstrcmpが使えたとしたら、こういうことをやりたいのです。 int WINAPI WinMain(・・・LPSTR pCmdLine, ・・・) // pCmdLineはコマンドライン引数です。 { ・・・ // 省略 if(strcmp(pCmdLine,"-s") == 0) { ・・・ } ・・・ return 0; } ・・・は省略です。 このようなことをできる関数はありませんか?

  • 文字列の比較のはずなのに・・・

    「値の比較を効率よく行う方法を教えてください」で効率よい比較の方法を教えていただきましたものです。 早速試しているときに、おかしなことが・・・。 文字列が格納されている変数「$value」と「hogehoge」という文字列を比較しているのですが(本当は、もっと多く比較していますが、今は簡単にするために省略しました)、 $value eq 'hogehoge' としたときにサーバーエラーになり、 $value == 'hogehoge' としたときは、ちゃんと比較されて分岐もできています。 ??といった感じなのですが、これで正常ですか? 私としては、「数値は==」「文字列はeq」でと思っていたものですから・・・。 ご教授よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 変数が渡らない

    選択するための3つのボタンを作成し、それぞれ変数ansに値を格納しました。下記がそのActionScriptの例です。 ------------------------------- on(release){ ans=1; _root.nextFrame(); } ------------------------------- ボタンを押した後、別のレイヤーのフレームからMCを読み込みます。 しかし、ボタン内で格納した変数が読み込まれずundefined(未定義)となってしまいます。if文で分岐したいのですが出来ずに困っています。 ボタンをクリックすることで変数に格納した値を、ムービークリップのイベント内で読み込むことは可能でしょうか?

    • ベストアンサー
    • Flash
  • 文字列の操作

    すみません、いつもお世話になってます。 VB初心者なのですが・・・ 文字列で dd ='8' yymm = '200609' とあった場合、 yymmdd に '20060908' となるようにしたいのですが、 ddの変数の値を'5'→'05'としてyymmの変数に連結させたいのですが・・・ よろしくお願いいたします。

  • php内でjsを実行させたい

    いつもお世話になっております。 今回、下記の事を実行しようと思って苦戦してます。 (1)DBのレコードが0の場合にelseの処理を実行 (2)else内でエラー文が入っている変数を確認する→これは単純に一文があるかを目で確認 (3)上記の変数を外部ファイルのjs側に変数を渡す (4)空でない変数かを条件分岐で確認してアラートを発生させる 悩んでいる部分は(3)の部分で中々見つからないのでどなたか教えて頂けますでしょうか。 if(省略) { (省略) } else { $title = "タイトルが未記入のままのようなままなので登録してください"; ★外部ファイルのjsを実行させる }

    • 締切済み
    • PHP

専門家に質問してみよう