Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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查找GCD。我在做一些事情的时候被我的逻辑卡住了_Java - Fatal编程技术网

正在尝试使用java查找GCD。我在做一些事情的时候被我的逻辑卡住了

正在尝试使用java查找GCD。我在做一些事情的时候被我的逻辑卡住了,java,Java,你好,我的朋友们。我正在为学校制定一个简单的计划,要求我在不使用%的情况下找到GCD。我有一个isse,它只继续输出 请输入第一个整数: 55 请输入第二个整数: 65 最大的公分母是:55 最大公分母:10 55和65的GCD为0 任何提示或提示都将不胜感激 package realgcd; import java.util.Scanner; import java.util.Scanner; public class RealGCD { public static void main(St

你好,我的朋友们。我正在为学校制定一个简单的计划,要求我在不使用%的情况下找到GCD。我有一个isse,它只继续输出

请输入第一个整数: 55 请输入第二个整数: 65 最大的公分母是:55 最大公分母:10 55和65的GCD为0

任何提示或提示都将不胜感激

package realgcd;
import java.util.Scanner;

import java.util.Scanner;
public class RealGCD {
public static void main(String[] args) 
{
    int numOne=0;
    int numTwo=0;


    Scanner intOne;
    Scanner intTwo;
    intOne = new Scanner(System.in);
    intTwo = new Scanner(System.in);
    System.out.println("Please enter the first integer:");
    numOne=intOne.nextInt();
    System.out.println("Please enter the second integer:");
    numTwo=intTwo.nextInt();
    System.out.println("The GCD of " +numOne+ "and" +numTwo+"is " + getGCD(numOne,numTwo) + ".");
}

public static int getGCD(int numberOne, int numberTwo)
{
   if(numberOne > numberTwo)

    do
    { 
        numberOne-=numberTwo;
    }
   while(numberTwo>0);
   System.out.println("Greatest Common Denominator is:"+numberOne);

   if (numberTwo>numberOne)
   { 
       do 
        {
        numberTwo-=numberOne;
        }
    while (numberTwo>numberOne);
    do 
    {
        numberOne-=numberTwo;
    }   
    while (numberOne>0);
    System.out.println("Greatest common denominator:" +numberTwo);
    }
return 0;

}
}

尝试在main方法中的最后一个System.out.println中自己跟踪代码

代码将打印一个字符串,但为了知道完整字符串是什么,它必须执行getGCD方法:

System.out.println("The GCD of " +numOne+ "and" +numTwo+"is " + getGCD(numOne,numTwo) + ".");
但在执行getGCD方法时,它会将自己的消息打印到控制台。一旦它最终在所有情况下显式返回值0,只有到那时,来自main方法的消息才会最终打印到控制台


您的getGCD方法工作不正常。它应该计算两个给定数字的GCD,然后返回,而不是试图将任何内容打印到控制台。然后main方法中的println语句将打印getGCD方法返回的任何内容。

您的getGCD方法将始终返回零。如何让它打印返回?我有点困在那里了。@communicyCodeGuy这里有一个例子:System.out.println getNumber;//将5打印到控制台public static int getNumber{return 5;}