ダイヤモンドリング(文字列)を返すプログラムを実行しようとしました。 コンパイルにエラーはありませんが、実行すると実行が停止しませんでした。Javaプログラムのエラー無限ループ
class Diamond {
public static String print(int n) {
int j=n/2,i=0,k=1;
String ch="";
while(i<n){
for(int c=0;c<java.lang.Math.abs(j);c--)
ch=ch + " ";
for(int r=0;r<k;r++)
ch=ch + "*";
j--;
if(j<=-1){
k=k-2;
}
else{
k=k+2;
}
j--;
ch=ch + "\n";
i++;
}
return ch ;
}
public static void main(String []args){
System.out.println(Diamond.print(5));
}
}
このコードは、無限ループだと思いますが、私はそれを見つけられません。以下のようなc++
のためのあなたの最初のfor
ループ変更c--
で
'c = 0; c
SomeJavaGuy