初心者はこちらです。私は1から100までの素数を抽出するプログラムを持っています。以下のコードはコンパイルされますが、解釈すると空白の出力が得られます。Javaブロックには何が欠けていますか?
しかし、ネストされたfor-block(2番目のfor-block)で中括弧のペアを省略すると、正しい出力が得られます。
これもC++で試してみましたが、問題は同じです。私はここに何かを逃していますか前もって感謝します。
public class PrimeNumbers {
public static void main (String args[]) {
int i, j;
for(i=2;i<=100;i++) {
for(j=2;j<=(i/j);j++) {
if ((i%j == 0)) {
break;
}
if(j > (i/j)) {
System.out.println(i);
}
}
}
}
}
そしてここでは、C++での私のコードですが、問題は、あなたの場合は第二の文if(j > (i/j))
を使用してループのための第二for(j=2;j<=(i/j);j++)
競合の状態のためのブロック第二
#include <iostream>
using namespace std;
int main() {
int i, j;
for(i=2;i<=100;i++) {
for(j=2;j<=(i/j);j++) {
if(!(i%j))
break;
if(j > (i/j))
cout << i;
}
}
return 0;
}
"this"をC++で試した場合、コードはどこですか? –