• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクリプス開発でのif分について。)

エクリプス開発でのif分の使い方と注意点

このQ&Aのポイント
  • エクリプス開発環境でのif文の使い方や注意点について説明します。
  • 質問者は、10桁の数値から特定の条件でハイフンを加えて数値を抽出する方法を知りたいとしています。
  • VBAであれば、MID関数を使用して簡単に実現できますが、JAVAでは少し異なる方法で処理する必要があります。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

> score.substring(1,4)が00の場合 score.substring(1,4).compareTo("00") == 0 とか。 文字列の操作が中心のプログラムなら、やはり基本の文字列操作をしっかり覚えた方がいいと思います。 少なくとも比較がわからない、というレベルだとちょっと

yairi1106
質問者

お礼

&&(かつ)や||(または)とうはただ、単にじゃまなカッコがあっただけでした。 私の知識が足りなかった部分につきましては 比較演算子の使用例や意味については色々と調べてみましたが 比較演算子を使用して何々の場合00→compareTo ("00") == 0が 成立するという概念がまだ発想になかったです。 解決しましたことをご報告いたします。 どうもありがとうございました。 //(function_1)郵便番号if判定 String score = "12100 345"; if (score.substring(3,5).compareTo ("00") == 0 && score.substring(5,7).compareTo (" ") == 0) { System.out.println(score.substring(0,3) + "-"); //4桁目5桁目00の場合なおかつ6桁目7桁目が" "の時左から1.2.3桁抽出+ハイフン } else if (score.substring(5,7).compareTo (" ") == 0) { System.out.println(score.substring(0,3) + "-" + (score.substring(3,5))); //6桁目7桁目" "の場合左から1.2.3桁抽出+ハイフン+4.5桁目抽出 } else { System.out.println(score.substring(0,3) + "-" + (score.substring(3,7))); //それ以外左から3桁抽出+ハイフン+4.5.6.7桁目抽出 } } }

yairi1106
質問者

補足

ご指摘ありがとうございます。 ご質問する前に調べた結果score.substring(  )のソースで 色々と探っていたのですが 参考書やWebで調べてもcompareTo("00") == 0 の比較の情報が得られなかったので ご質問させて頂きました。 まだJAVAを勉強して10日前後で日が浅かったので ご質問するには早かったのかと思いましたが 少なくとも現在所有している参考書には 比較演算子については勉強していました。 score.substring(   )が00の場合のソースの書き方が 分からなかったので勉強になりました。 引き続き現在、検証中ですが 下記のようなソースを作成して 希望通りシステムアウトされるの事が確認できました。 しかし1つのIF文で 例えば2桁目3桁目が00なおかつ5桁目6桁目が23の場合を 構文にしようとしたとき &&(かつ)や||(または)が指定できないので現在検証中です。 //(function_5)郵便番号if判定 String score = "1210012345";   if (score.substring(3,5).compareTo ("00") == 0) { System.out.println(score.substring(0,3) + "-");   } else if (score.substring(6,7).compareTo ("11") == 0) { System.out.println(score.substring(0,3) + "-" + (score.substring(3,5)));   } else { System.out.println(score.substring(0,3) + "-" + (score.substring(3,7))); }

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

まずは、マニュアルを読む。 Stringの操作なら、Stringクラスのから始めてみる。 Stringクラスにはsubstringメソッドという、MID関数に相当するものがある。 位置の指定が「n文字目(nは1から)」ではなく「インデックス(0から)」になることと、 メソッドの使い方が substring(score,1,4) ではなく score.substring(1,4) という形になる、ということに注意。 あと、文字列の比較に== 、!=は使わない。compareToメソッドを使う。

yairi1106
質問者

補足

Substringを使うんですね。 どうもありがとうございます。 ただ、if分で文字列を指定する際、 score.substring(1,4)が00の場合とか指定する場合に 例えばVBAならmid(郵便1,4) = 00 とか=00を指定出来るのですが 何々の時はどうすればいいのでしょうか? また、お恥ずかしいのですが、マニュアルは エクリプス上でチェック出来るのでしょうか? どうぞよろしくお願いします。

回答No.1

正規表現を使った方が良いのではないでしょうか。

yairi1106
質問者

補足

アドバイスありがとうございます。 初心者なので、 正規表現をつかったアイデアが 分かりません。 よくある参考書などイフ分サンプル等は 数値に対して 大きいか小さいかの判定だけで 今の知識だけでは なかなかうまくいきません。

関連するQ&A