[英]Prime Number test beginner Java
用於測試正數(稱為 num)的大學作業是否為質數。 我必須使用 Do while 循環我嘗試了如下代碼,但測試失敗
public class Primes {
public static main void (String args[]){
int num = 1;
int 2 = 0;
boolean flag = false;
do {
if (num%i == 1) {
flag = true;
break:
}
num ++
while (i<=num);
{
if (flag = true);
{
System.out.println (num + "is a prime number ");
}
else
{
System.out.prinln (num + "is not a prime number ");
}
}
}
}
它應該是
public static void main(String args[])
不是
public static main void (String args[])
int 2 = 0;
你可能是說
int i = 0;
do { ... } while(...);
do while 循環的格式是
do {
something();
} while (condition);
while (condition); {
something();
}
在這種情況下, something()
不在您的 while 循環中
if
if (flag = true)
這是將flag
分配給true
。 並且條件始終為真(因為賦值的結果為真)。
System.out.prinln
它是System.out.println
。 使用 IDE。
public class Primes {
public static void main(String args[]) {
int num = 3;
int i = 2;
boolean flag = false;
do {
if (num % i == 0) {
flag = true;
break;
}
i++;
} while (i < num);
if (!flag) {
System.out.println(num + " is a prime number ");
} else {
System.out.println(num + " is not a prime number ");
}
}
}
我還修復了一些邏輯問題,例如
i
而不是num
,while (i < num)
而不是while (i<=num)
,否則 some (last) i
總是等於num
,使一切都不是素數if
邏輯。 當您找到可整除的東西時,Flag 為真,這意味着該數字不是素數。有更好的解決方案,但我堅持你的格式。
你有幾個不同的問題:
首先,它應該是:
public static void main(String[] args){
其次,第 4 行的變量沒有名稱。
你的 do while 語句的格式也不太正確。
另一張海報在這里有一個很好的 do while 循環示例: Do-while 循環 java 解釋
此外,請查看分號放置位置的規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.