【发布时间】:2017-02-28 18:01:52
【问题描述】:
我无法完成这个程序。我了解该程序应该做什么,但我无法完成它。我在下面发布了我的代码。
对于这个程序,我需要确定一个数字是否是质数。其中一部分是,我需要要求用户输入一个范围(例如 1-10)并显示哪些数字是素数,哪些不是。
这就是我目前所拥有的......
import java.util.Scanner;
public class PrimeNumbers
{
public static void main(String[]args)
{
//Create Scanner Object
Scanner input = new Scanner(System.in);
//Initialize variable
double num1, range;
//Prompt the user to enter in a number
do
{
System.out.println("Please enter in a number:");
num1 = input.nextDouble();
//Decision making
if(num1 % 2 == 0 || num1 % 3 == 0 || num1 % 4 == 0 || num1 % 5 == 0 || num1 % 6 == 0 || num1 % 7 ==0 || num1 % 8 ==0 || num1 % 9 == 0)
{
//Display message
System.out.println(num1 + " is not a prime number.");
System.out.println("Please enter a range: ");
range = input.nextInt();
if ()
}
else
//Display output
System.out.println(num1 + " is prime.");
}
while(num1 == -1);
{
System.out.println("This program has now ended.");
}
}
}
【问题讨论】:
-
你应该检查一下 num1 不等于你取模的数字。
-
多么巧妙的格式!我正要在
while之后评论;,但后来我意识到while行是do-while的后一个子句,而不是独立的while循环。
标签: java loops for-loop while-loop do-while