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

将数据发送到一个方法并逐一检查

邢俊悟
2023-03-14

我得到了一个在Java中创建Ulam螺旋的挑战,但在创建Ulam螺旋之前,用户应该输入2个数字。这两个数字应该检查一下,所以它们不是质数。只要其中一个被写入的数字是素数,那么程序应该重新启动并要求2个新的数字。

getInput方法要求用户输入2个数字。在写入这些数字之后,应该调用isPrime方法,并且应该一次检查一个数字,如果它是Prime。如果检查的第一个数字不是素数,那么应该检查第二个数字,如果也不是素数,那么应该调用下一个方法。我不明白的是我有的isPrime方法。它检查数字,但如果第一个不是质数,我怎么做,然后检查下一个数字,只要它们都不是质数,那么我们就没事了。我可以让isPrime方法包含两个数字,并检查它们,但我不允许这样做,我必须一次检查一个数字。

public class UlamSpiral {

    private static int firstNumber, secondNumber;
    private static Scanner scanner = new Scanner(System.in);
    private static boolean flag = false;

    public static void main(String[] args) {

        getInput();
        isPrime(firstNumber);
        isPrime(secondsNumber);
    }

    public static void getInput() {

        System.out.println("Enter two non-prime numbers");
        firstNumber = scanner.nextInt();
        secondNumber = scanner.nextInt();
    }

    public static boolean isPrime(int num) {

        for(int i = 2; i <= num / 2; ++i) {

            // Condition for non-prime number.
            if(num % i == 0) {
                flag = true;
                break;
            }
        }

        if (!flag)
            System.out.println(num + " Atleast one of the numbers are a prime number.");

        return true;
    }
public static void main(String[] args) {

    getInput();
    if(isPrime(firstNumber) || isPrime(secondNumber)){
        System.out.println("Atleast one of the numbers are a prime number.");
        getInput();
    } else {
        isMax(firstNumber, secondNumber);
    }

public static void getInput() {

    System.out.println("Enter two non-prime numbers");
    firstNumber = scanner.nextInt();
    secondNumber = scanner.nextInt();
}

public static boolean isPrime(int num) {
    boolean flag = true;

    for (int i = 2; i <= num / 2; ++i) {

        // Condition for non-prime number.
        if (num % i == 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

输入两个非质数3 5至少其中一个是质数。输入两个非质数3 4

进程结束,退出代码为0

共有1个答案

楚昊明
2023-03-14

isprime方法中取出打印,并在检查了这两个数字之后进行打印。重构代码如下所示:

public class UlamSpiral {

    private static int firstNumber, secondNumber;
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {

        getInput();
        if(isPrime(firstNumber) || isPrime(secondNumber)){
            System.out.println("Atleast one of the numbers are a prime number.");
        } else {
           //scenario when none are prime
        }

    }

    public static void getInput() {

        System.out.println("Enter two non-prime numbers");
        firstNumber = scanner.nextInt();
        secondNumber = scanner.nextInt();
    }

    public static boolean isPrime(int num) {
        boolean flag = false;

        for(int i = 2; i <= num / 2; ++i) {

            // Condition for non-prime number.
            if(num % i == 0) {
                flag = true;
                break;
            }
        }

        return flag;
    }
}
 类似资料:
  • 以下是传入的JSON: 这里的JSONObject[“time”]不是字符串是我将它放入JSONArray时遇到的错误

  • 我目前正在做一个项目,我需要帮助。 我想发送的名称,总数量和总价的一个产品的数量在我的添加到购物车活动。 @override public void onListClick(final ItemInfo item){ 上面应该有什么代码发送到购物车活动?? toast.maketext(mainactivity.this,“added To cart”,toast.length_short).sh

  • 我不熟悉JSP和servlet。我正在tomcat版本10.0中设计一个库管理系统,当用户以html形式使用他的用户ID和密码登录时,一旦凭据匹配,它就会将其发送到登录servlet,并使用RequestDispatcher将用户ID发送到userlogin(home)JSP以供进一步使用。 在此之前,一切正常,在JSP中有两个操作,一个是用户可以检查MySQL数据库中的图书可用性和他/她的图书的

  • 问题内容: 我有问题,我需要将数据(ID)从列表发送到另一页。这是html代码: 这是脚本: 我希望将单击列表的ID发送到下一页。最终的想法是在第二页“ #detail”中加载播放器的详细信息(播放器位于单独的类中)。 感谢您的回复 问题答案: 一个HTML /多页模板 这是在1个html多页模板中将属性从listview传递到第二页的示例: http://jsfiddle.net/Gajotre

  • 我很难在Thymeleaf帖子中绑定一个ObjectList。 我正在尝试使用Spring5和ThymeLeaf来实现以下要求 我计划在每行添加一个删除按钮。和一个Submit按钮,用于将所有剩余行保存在DB中。 如何将eachRowList转发到另一个控制器(用于删除操作和数据库保存)。 更新1: 修改视图 最终更新: 显然th:field输入标签不会绑定在thead部分(它不应该有输入字段Lo

  • 你好,我想把数据从一个html页面发送到另一个html页面 这是我的index.html页面 这是newpage.html: