当前位置: 首页 > 知识库问答 >
问题:

Java程序没有输出我需要的东西

蒋乐意
2023-03-14

我需要写一个代码:一个素数是一个大于1的正整数,它只能被它自己和1整除。您要编写一个程序,反复向用户询问一个整数值,然后显示小于或等于该数字的所有质数。

功能需求

Welcome to the prime number program!
########################################################
Please enter a positive integer: 6
Number    Is Prime  Counterexample
2         Yes       -
3         Yes       -
4         No        4 % 2 = 0
5         Yes       -
6         No        6 % 2 = 0
3 of the first 6 integers are prime; prime ratio = 0.5
Welcome to the prime number program!
########################################################
Please enter a positive integer: 2

我的代码是:

import java.util.Scanner;

    public class PrimeNumber
     {
        public static void main(String[] args)
        {
            Scanner sc =new Scanner(System.in);
            System.out.println("Welcome to the prime number program!");
            System.out.println("########################################################");
            Integer input=getInput(sc);
            if(input != null)
                { 
                    System.out.println("Number   Is Prime   Counterexample");
                    for(int l=2;l<l;l++)
                        {
                            int k=isPrime(l);
                            System.out.println(l+"\t"+(k==-1?"Yes\t\t"+"-":"No\t\t"+l+"%"+k+"=0"));
                        }
                    main(args);
                    return;
                }
            System.out.println("You Selected to exit ! Good Bye!");
        }

       public static int isPrime(int input)
        {
            for(int k=2;k<=input/2;k++)
                {
                    if(input%k==0)
                    {
                        return k;
                    }
                }
            return -1;
        }

       public static Integer getInput(Scanner sc)
        {
            System.out.println("Please enter a positive integer: 2");
            String input=sc.next();
            Integer i;
            try
            {
            i=new Integer(input);
            }
            catch(NumberFormatException e)
            {
                System.out.println("Invalid Input");
                i=input.chars().iterator().next();getInput(sc);
            }
            return i;
        }

       {



} }

有人能帮我找出我做错了什么吗?

共有1个答案

仲孙绍元
2023-03-14

for循环从不执行,因为L从不小于L本身。您需要从2循环到用户输入的数字:

for(int l=2;l<input.intValue();l++)
 类似资料:
  • 我试图做一个java程序,但我有一个问题与输出。

  • /**程序可以将十进制转换为二进制并报告是否使用了非法字符*程序不能将二进制转换为十进制*/import java.util.scanner; /***这个类包含一个完整的程序,只有一个main()方法,用于*将非负十进制整数(即以10为基数的整数)转换为*正二进制整数(即以2为基数的整数)。要*转换的值是从命令行读入的。*/public class BaseConversions2{public

  • 问题内容: class mythread implements Runnable { 输出为: 但是我想要的输出就像首先应该在线程“ rohan”中打印5,然后在“ jain”中打印5,然后在线程“ main”中打印5,依此类推…请帮助.. !!!!!! 问题答案: 这些问题确实使我感到困惑。线程的全部要点是它们并行 异步 运行,因此我们可以获得更好的性能。由于硬件,竞争条件,时间分段随机性和其他

  • 我不确定我的Flink应用程序是否需要水印。什么时候有必要? 如果我不需要它们,水印策略的目的是什么。noWatermarks()?

  • 我正在尝试使用 java 代码在 linux 上调用非 linux 命令。该命令所需的库已安装在我的 linux 机器上。这是我的java代码,它使用Runtime.getRuntime().exec()调用命令; 该命令从图像文件中读取边码并对其进行解码并在控制台上显示值。 当我在linux上运行此java代码时,我会遇到以下异常 部分例外情况如下: 命令:dmtxread-n /home/ad

  • 由于某些原因,在运行此代码时,我没有得到输出。我不明白为什么。我肯定这是基本的原因,但在我看来一切都是正确的。 下面是输出: