正在尝试使用java查找GCD。我在做一些事情的时候被我的逻辑卡住了
你好,我的朋友们。我正在为学校制定一个简单的计划,要求我在不使用%的情况下找到GCD。我有一个isse,它只继续输出 请输入第一个整数: 55 请输入第二个整数: 65 最大的公分母是:55 最大公分母:10 55和65的GCD为0 任何提示或提示都将不胜感激正在尝试使用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
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;}