質問: new int[args.length]; for(int i=0;i
回答: まあ解決しているのでほぼネタですが ``` public static void main(String args[]) { if(args.length==0) { System.out.println("Usage : ClassName 1 [2 [3 [...]]]"); return; } int[] array = new int[args.length]; int length = 0; for(int i = 0; i < args.length; i++) { try { array[i] = Integer.parseInt(args[i]); length = Math.max(length, args[i].length()); } catch (Exception e) { // nop } } for(int i = 0; i < args.length; i++) { System.out.printf("%" + length + "s ", args[i]); for(int j = 0; j < array[i]; j++) { System.out.print("*"); } System.out.println(); } } ``` とすると ``` 1 * 2 ** 10 ********** 100 ***************... ``` のようになります。 1週目(変換)で数値の桁数の最大値を探します。 2週目(出力)で printf (フォーマット)出力時に桁数調整します。 `%3s` : 左に空白をつめて3桁にする