• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:java 文字列の部分一致について)

Java文字列の部分一致: 3の倍数か3の付く数字を判定する方法

このQ&Aのポイント
  • この質問は、「1から50までの数を表示し、その数が3の倍数か3の付く数字の場合に特定の文字を表示する」という処理に関するものです。
  • 質問者は、文字列の部分一致を検索するときに通常はStringクラスのindexOfメソッドを使用するが、この場合は判定が文字列と数値の両方に依存しており、条件判定の方法に悩んでいます。
  • 質問者は、どのようにして数が3の倍数か3の付く数字かを判定すれば良いかを知りたいとしています。

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

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

そうですねぇ……よく考えてください。「数が3の倍数か3の付く数字の場合」という言葉は「数が『数が3の倍数か3の付く数字か』に対して true の場合」という意味ですよね? つまり、上記の『』の中を判定できるメソッドがあったら、それを使って main() を書き直せますよね? ならば、そう書き直した後はそういう判定をできるメソッドを書いてしまえば完成ですよね? どうやら宿題っぽいので、後はがんばれ。

その他の回答 (1)

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

> 文字列判定と ==演算子は同じif(条件)の中には入れる事が出来ない どうしてそんな結論に? i % 3 == 0 というのは「 i %3 と 0 が等しければtrue、そうでなければfalse」という計算式です。 String.Equalsも、文字列を比較して、trueかfalseを返すメソッドです。 && とか || も、前後がtrueかfalseかの組合せで、trueかfalseを返す計算式です。 if で判断するのは、最終的な true かfalseか、です。途中の式は直接関係はありません。 組合せても、まったく問題ありません。 もっとも、indexOfを使っているのに、なぜEqualsが出てくるかがわかりませんが

関連するQ&A