前提・実現したいこと
指定した範囲の正の整数の中からある整数の倍数になっているもの(例:1から100まで
の整数で13の倍数になるもの)をカンマで連結した以下のような文字列numStrを生成して印字する
コードを作成し、完成した文字列numStrをカンマで分割し、String型配列strArrayに格納した後に、strArrayの値を書式指定印字メソッドSystem.out.printf()を用いて3桁で縦に印字するというコードを書きたいです。
該当のソースコード
public class ProgC1String1
{
public static void main(String[] args){
System.out.println("指定した範囲の整数の中である整数の倍数になっているものを見つけます。");
System.out.print("最初の整数を指定してください:");
int sho = new java.util.Scanner(System.in).nextInt();
System.out.print("最後の整数を指定してください:");
int go = new java.util.Scanner(System.in).nextInt();
System.out.print("どの整数の倍数にしますか:");
int bai = new java.util.Scanner(System.in).nextInt();
StringBuilder numStr = new StringBuilder();
for(int i = sho; i <= go; i++){
if(i % bai == 0){
numStr.append(i).append(",");
}
}
System.out.printf("%s",numStr);
System.out.println("");
int j =numStr.indexOf(",");
String strArray = numStr.substring(0,j);
System.out.printf("%s",strArray);
}
}
試したこと
上のソースコードを試したところ、
指定した範囲の整数の中である整数の倍数になっているものを見つけます。
最初の整数を指定してください:1
最後の整数を指定してください:100
どの整数の倍数にしますか:13
13,26,39,52,65,78,91,
13
まで出来ましたが、それ以降は分かりません。
補足情報(FW/ツールのバージョンなど)
javaのBluejで作業しています。