Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何向用户打印素数';输入整数是多少?_Java_Loops_Nested_Boolean_Primes - Fatal编程技术网

Java 如何向用户打印素数';输入整数是多少?

Java 如何向用户打印素数';输入整数是多少?,java,loops,nested,boolean,primes,Java,Loops,Nested,Boolean,Primes,各位下午好, 我目前正在尝试创建一个执行以下操作的程序: 开发一个代码,将打印用户输入的所有素数 号码。输出的一个示例: Enter an integer (2 or above): 19 The prime numbers up to you integer are: 2 3 5 7 11 13 17 19 不幸的是,还有一系列需要满足的“要求”: 如果用户输入的数字低于2,您的程序应打印一条消息,说明该数字无效,然后停止 如果一个数不能被除1和它本身

各位下午好,

我目前正在尝试创建一个执行以下操作的程序:

开发一个代码,将打印用户输入的所有素数 号码。输出的一个示例:

 Enter an integer (2 or above): 19

 The prime numbers up to you integer are:

 2

 3

 5

 7

 11

 13

 17

 19
不幸的是,还有一系列需要满足的“要求”:

  • 如果用户输入的数字低于2,您的程序应打印一条消息,说明该数字无效,然后停止
  • 如果一个数不能被除1和它本身之外的任何数整除,那么它就是素数
  • 对于这个程序,为了测试一个数字是否为素数,您应该尝试将该数字除以从2到1的每个值,以查看它是否等分。例如:

    --要查看5是否为素数,请执行以下操作: 5不等于2 5不等于3 5不等于4 因此5是质数

    --要查看9是否为素数,请执行以下操作: 9不等于2 9除以3 因此9不是质数

  • 此程序要求您编写嵌套循环(即循环中的循环)。一个循环将用于从2到用户的数字进行计数,以便您可以测试这些数字中的每一个,以查看它是否为素数。对于这些数字中的每一个,x:

  • 嵌套循环将检查从2到x-1的所有值,以查看x是否被其中任何一个平均除
  • 您需要使用布尔变量(也称为标志变量)来帮助您确定是否在屏幕上打印数字
以上问题与我的代码有关,具体如下:

导入java.util.*

公开课{

public static void main(String[] args) {

    Scanner kbd = new Scanner(System.in);

    //Variable declaration.
    int limit, number;

    //get input till which prime number to be printed
    System.out.print("Enter an integer (2 or above): ");
    limit = kbd.nextInt();
    kbd.close();

    //Will print prime numbers till the limit (user entered integer).
    number = 2;

    if (limit >=2) {
        System.out.println("The prim numbers up to your interger are: " + limit+"\n");
        for(int i = 0; i <= limit;){         
            //print prime numbers only
            if(isPrime(number)){
                System.out.println(number +"\n");
                i++;
            } 
            number = number + 1;
        }
    }
    else
        System.out.println("Number is not vaild");

}

//Prime number is not divisible by any number other than 1 and itself
//return true if number is prime. 
public static boolean isPrime(int number){
    for(int i=2; i==number; i++){
        if(number%i == 0){
            return false; //Number is divisible, thus not prime.
        }
    }
    return true;//The number is prime.
}
publicstaticvoidmain(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
//变量声明。
整数限制,数字;
//获取要打印的素数之前的输入
系统输出打印(“输入整数(2或以上):”;
limit=kbd.nextInt();
kbd.close();
//将打印素数直到限制(用户输入的整数)。
数量=2;
如果(限制>=2){
System.out.println(“整数前的基本数字为:“+limit+”\n”);
对于(int i=0;i您的实际问题是数字变量。这是您的解决方案。不需要变量数字。下面是您的解决方案

import java.util.*;

public class Something3 {

public static void main(String[] args) {

    Scanner kbd = new Scanner(System.in);

    // Variable declaration.
    int limit;

    // get input till which prime number to be printed
    System.out.print("Enter an integer (2 or above): ");
    limit = kbd.nextInt();
    kbd.close();

    if (limit >= 2) {
        System.out.println("The prim numbers up to your interger are: "
                + limit + "\n");
        for (int i = 1; i <= limit; i++) {
            // print prime numbers only
            if (isPrime(i)) {
                System.out.println(i);
            }
        }
    } else
        System.out.println("Number is not vaild");

}

// Prime number is not divisible by any number other than 1 and itself
// return true if number is prime.
public static boolean isPrime(int n) {
    if (n % 2 == 0)
        // The only even prime is 2.
        return (n == 2);
    for (int i = 3; i * i <= n; i += 2) {
        if (n % i == 0)
            return false;
    }
    return true;
}
}
import java.util.*;
公开课{
公共静态void main(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
//变量声明。
整数极限;
//获取要打印的素数之前的输入
系统输出打印(“输入整数(2或以上):”;
limit=kbd.nextInt();
kbd.close();
如果(限制>=2){
System.out.println(“整数之前的基本数字是:”
+限额+“\n”);
对于(int i=1;i您的实际问题是数字变量。这是您的解决方案。不需要变量数字。下面是您的解决方案

import java.util.*;

public class Something3 {

public static void main(String[] args) {

    Scanner kbd = new Scanner(System.in);

    // Variable declaration.
    int limit;

    // get input till which prime number to be printed
    System.out.print("Enter an integer (2 or above): ");
    limit = kbd.nextInt();
    kbd.close();

    if (limit >= 2) {
        System.out.println("The prim numbers up to your interger are: "
                + limit + "\n");
        for (int i = 1; i <= limit; i++) {
            // print prime numbers only
            if (isPrime(i)) {
                System.out.println(i);
            }
        }
    } else
        System.out.println("Number is not vaild");

}

// Prime number is not divisible by any number other than 1 and itself
// return true if number is prime.
public static boolean isPrime(int n) {
    if (n % 2 == 0)
        // The only even prime is 2.
        return (n == 2);
    for (int i = 3; i * i <= n; i += 2) {
        if (n % i == 0)
            return false;
    }
    return true;
}
}
import java.util.*;
公开课{
公共静态void main(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
//变量声明。
整数极限;
//获取要打印的素数之前的输入
系统输出打印(“输入整数(2或以上):”;
limit=kbd.nextInt();
kbd.close();
如果(限制>=2){
System.out.println(“整数之前的基本数字是:”
+限额+“\n”);
for(int i=1;i您的
isPrime()
方法返回了错误的结果。for循环条件是错误的
i==number
它应该是
i

public static boolean isPrime(int number){
    for(int i=2; i*i <= number; i++){
        if( number % i == 0){
            return false; // Number is divisible, thus not prime.
        }
    }
    return true; //The number is prime.
}
public静态布尔值isPrime(整数){
for(int i=2;i*i您的
isPrime()
方法返回了错误的结果。for循环条件是错误的
i==number
它应该是
i

public static boolean isPrime(int number){
    for(int i=2; i*i <= number; i++){
        if( number % i == 0){
            return false; // Number is divisible, thus not prime.
        }
    }
    return true; //The number is prime.
}
public静态布尔值isPrime(整数){
对于(inti=2;i*i
import java.util.Scanner;
类素数
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入n的值”);
int n=sc.nextInt();
对于(inti=2;i
import java.util.Scanner;
类素数
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入n的值”);
int n=sc.nextInt();

对于(int i=2;iIn main for,使用number而不是i。在main for,使用number而不是i。指出这个问题也有帮助。非常感谢您花时间编写答案。
isPrime()
最初发布的方法因n==2而失败。我已对其进行了编辑并添加了注释。指出此问题也有帮助。非常感谢您花时间编写答案。最初发布的
isPrime()
方法因n==2而失败。我已对其进行了编辑并添加了注释。