Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Java】複数の引数の数値と文字列の判定)

【Java】複数の引数の数値と文字列の判定

このQ&Aのポイント
  • Javaのプログラムで、複数の引数が渡された場合に、それぞれの引数が数値か文字列かを判定する方法について教えてください。
  • 引数が数値の場合は、数値×文字数を出力し、文字列の場合は逆から1文字ずつ出力するようにしたいです。
  • 現在のソースコードでは、1つの引数では正常に動作しますが、複数の引数がある場合に正しく表示されません。どう修正すればよいでしょうか?

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

  • ベストアンサー
  • yossy_kt
  • ベストアンサー率50% (103/203)
回答No.1

例外を使うということであれば、次のようにしてみてはいかがでしょうか? for (String arg : args) { try { int num = Integer.parseInt(arg); System.out.println(num * arg.length()); } catch (NumberFormatException e) { char[] chars = arg.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) System.out.println(chars[i]); } }

qwerty000
質問者

お礼

いつも回答して頂き、ありがとうございます! とても助かっています。 今回はどうしてもフラグを使いたかったので、 教えて頂いたものを元に、こんな感じになりました。 public class Test { public static void main(String[] args) { boolean stringFlg = false; for (String arg : args) { try { int num = Integer.parseInt(arg); System.out.println(num * arg.length()); stringFlg = false; } catch (NumberFormatException e) { stringFlg = true; }if(stringFlg){ char[] chars = arg.toCharArray(); for (int i = chars.length - 1; i >= 0; i--){ System.out.println(chars[i]); } } } } }

すると、全ての回答が全文表示されます。

関連するQ&A