我实现了自己的类分数,其中我有一个BigInteger分子对象和一个BigInteger分母对象。每当我调用分数对象的构造函数时,它都会解析参数中的分子和分母,并简化分数。我遇到的问题是,当调用gcd(biginteger分子,biginteger分母)作为真正的大数时,我会得到堆栈溢出异常。我希望能够得到非常大的BigInteger对象的gcd。
private BigInteger gcd(BigInteger a, BigInteger b)
{
if(a.mod(b).toString().equals("0"))
return
我写了以下代码来计算未指定数量的整数的gcd。
import java.util.Scanner;
public class GcdOfUnspecifiedNumberOfIntegers {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] list = new int[5];
for (int i = 0; i < 5; i++) {
System.out.println("Enter a
我编写了在两个数字之间获取GCD(最大公共分区)的代码。因为我应该在第19位输入数字,我想我需要使用BigInteger数学类。但是,在编译代码后,会出现以下错误。
线程“主”java.lang.ArithmeticException中的例外: BigInteger:在test.GCD(test.java:9)、test.main(test.java:22)的test.GCD(test.java:9)处模不正
这是我的密码。
import java.util.*;
import java.math.BigInteger;
public class test {
public stat
所以我在我的主类中有这个构造函数:
public class GCTest extends Program {
GCTest(int x, int y) {
int gcd = gcd(Math.abs(x), Math.abs(y));
int num = x / gcd;
int den = Math.abs(y) / gcd;
if (y < 0) num = -num;
}
}
当我在void run()中调用构造函数时,当我编译它时,cmd会给我以下错误“无法确定主类”,但是当我创建一个只有构造函数
我是Java的新手,但我试着运行这个简单的代码。有人能解释一下我该怎么做才能让这段代码正常工作吗?
public class BinaryGCD {
public static int gcd(int p, int q) {
if (q == 0) return p;
if (p == 0) return q;
// p and q even
if ((p & 1) == 0 && (q & 1) == 0) return gcd(p >> 1, q >> 1) << 1;
//
我正在尝试将gcd()函数添加到NumericFunctions类中,并在main中包含代码以计算gcd(m,n)。
但是,我一直收到一个错误:
Exception in thread "main" java.lang.StackOverflowError
at NumericFunctions.gcd(NumericFunctions.java:14)
源代码:
public class NumericFunctions {
public static long factorial(int n) {
long result = 1;
我正在试图找到下面列出的数组的GCD。但是,当我调用数组时,我无法访问它。我知道错误了
GCD.java:4: error: illegal start of expression
generalizedGCD({2,4,6,8,10});
GCD.java:4: error: not a statement
generalizedGCD({2,4,6,8,10});
我该怎么解决这个问题?
import java.util.Arrays;
public class GCD{
public static void main(Strin
我对编程很陌生,我正在使用Think学习Java。我正试着做。本练习涉及使用欧几里德算法编写求最大公因子(GCD)的递归函数。我想出了两个主意。我不知道为什么我的第二个想法返回一个不正确的值。
这个想法工作得很好:
public class exercise10 {
public static int gcd(int a, int b) {
if (b == 0) return a;
else return gcd(b, a % b);
}
public static void main(String[] arguments){
我有以下代码,变量gcd在gcd()函数中,这显示了错误:
局部变量gcd可能尚未初始化。
守则是:
import java.util.Scanner;
public class GreatestCommonDivisorMethod {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter two numbers");
Scanner input = new Sc
这段Python代码也可以用Java代码编写吗?
def gcd(a, b):
# Return greatest common divisor using Euclid's Algorithm.
while b:
a, b = b, a % b
return a
print (gcd(210, 45))
这是我到目前为止在Java代码中所做的:
private static int gcd(int p, int q) {
// Return greatest common divisor using Euclid's Algo
我是一个Java/编程新手,通常我必须编写一个递归方法来寻找两个数的最大公约数。当我调用这个方法时,它会提示我找不到符号。
import java.util.Scanner;
public class tester121{
public static void main(String[]args){
Scanner input= new Scanner(System.in);
System.out.println("Enter first number");
int num1=input.nextInt();
Syst
我需要运行GCD的方法代码。我的java文件名为"GCD.java“,公共类名为”GCD“。然而,尽管我的每一行代码中都没有红色的解释点圈,但我仍然收到消息"Class GCD没有main方法“。我可以在没有方法代码的情况下运行代码(即public static void main(String[] args)),但是我需要使用一个方法来运行代码。谢谢。
==========================
import java.util.Scanner;
public class GCD
{
public static int getDi
我需要帮助实现一个循环,不断告诉用户只输入正整数,但我不知道从哪里开始。谁能帮帮我。
import java.util.Scanner;
public class GCD {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a positive integer: ");
int firstN = input.nextInt();
System.out.print("
我正在根据ernesto cesaros来确定PI的值。我在java中使用默认的随机方法。我将种子值设置为输入,这将决定它将生成多少对随机数。我的价值总是在2.4494左右。
import java.util.Random;
import java.util.Scanner;
public class Projectone {
public static int count, sum = 0;
public static int a, b, gd;
public static void main(String[] args) {
// Enter seed number
我刚找到这个算法来计算我课堂讲稿中最大的公因子:
public static int gcd( int a, int b ) {
while (b != 0) {
final int r = a % b;
a = b;
b = r;
}
return a;
}
因此,r是将b除以a(得到mod)的余数。然后将b分配给a,其余的分配给b,然后返回a。我一辈子都看不出这是怎么回事!
然后,显然这个算法并不适用于所有情况,然后必须使用这个算法:
public static int gcd( int a, int b ) {
我为spoj中给出的计算LCM的问题编写了代码。我计算了两个数的gcd,用gcd除以两个数的乘法,给出了两个数的lcm,但它显示了错误的答案。
问题是在
import java.math.BigInteger;
import java.util.Scanner;
class Lcm1 {
public static void main(String args[]) throws Throwable {
try {
Scanner s = new Scanner(System.in);
int siz = s.nextIn
以下程序在Netbeans IDE中运行良好,但当我尝试从命令提示符运行时,出现
Exception in thread "main" java.lang.NoClassDefFoundError: Gcd (wrong name: algo
rithms/Gcd)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defin
这个程序用于查找GCD,LCM。我面临的问题,当程序达到,而loop.My的代码给在下面。
public class GCDLCM {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
int a,b;
if(x < y) {
a = y;
b = x;
我想让用户输入三个数字,然后让程序使用欧几里德算法计算GCD,同时使用递归。
我的代码现在实现了两个输入数。我理解计算a和b的GCD的方法,并将其称为结果d。然后使用第三个输入(c)和d找到GCD,本质上再次重复欧几里得算法;我不确定如何在代码中实现这一点。
import java.util.Scanner;
public class RecursionDemo {
public static void main (String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.println(&
public static int GCD(int a, int b) {
if (b == 0) {
return a;
} else {
int a1 = b;
int b1 = a % b;
GCD(a1, b1);
}
return 1;
}
}
为什么这个Euclid的Algo (在Java中)的实现总是返回1?我如何让它返回正确的答案?
请帮帮忙。我一直在不停地做这件事,但就是做不好。我遇到的问题是,我得到的逆数的输出总是1。
这是我的代码(它计算GCD并尝试修改,因此它还计算^-1):
import java.util.Scanner;
public class scratchwork
{
public static void main (String[] args)
{
Scanner keyboard = new Scanner(System.in);
long n, a, on, oa;
long gcd = 0;
System.
由于某种原因,我得到了这个错误。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at Assignment25.main(Assignment25.java:80)
public static void main (String[] args){
long[] array = new long[7];
for (int i = 0; i < 6; i++){
int thefib = 39;
array[i] = fib(thefib);
thefib
我试图创建一个程序,它将以分数、混合分数和小数的形式计算用户输入。我对分数输入没有问题,我所做的就是混合分数和小数。
import java.util.Scanner;
public class Fraction {
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
public static void main(String[] args) {
Sc
我有一个问题,实际上需要对欧几里得算法有所了解。问题很简单。int "First“和int "Second”数字由用户通过Scanner给出。我们需要找到它们的最大公约数。然后,该过程如下所述:
现在假设第一个数字是: 42,第二个是: 30 -它们是由用户给出的。-
int x,y;
(x * First) + (y * Second) = gcd(First,Second);// x?是不是?
要查找GCD,您可以使用: gcd(First,Second);代码如下:
public static int gcd(int a, int b)
{
第二个println语句的逻辑错误会导致下面代码中的无限循环。
它在while循环中,我理解它会使它继续打印,因为while测试是真的。使用48和18分别作为num1和num2,我得到了GCD的正确答案是6。打印出语句的位置是错误的,我不知道把它放在哪里。
我的代码找到两个整数的GCD,只要两者都不是负的。我用了欧几里得的方法。
谢谢你的帮助!
import java.util.*;
public class Chapter5Lab_Problem1 {
public static void main(String[] args) {
Scanner console = n
import java.util.Scanner;
public class EuclidGCD {
public static void main(String[] args) {
Scanner kbd = new Scanner (System.in);
System.out.print ("Enter First Number: ");
int n1 = kbd.nextInt();
System.out.print ("Enter Second Number: ");
int n2 = kbd.nextInt();
in
public class Rational {
int num, denom; /*I'm building an object named "Rational, which takes in two int values, num and denom, and represent them as a rational number(num/denom)*/
public Rational(int a, int b){//this is the constructor
this.num = a;
this.denom = b;
我正在编写一个程序,你输入两个整数,然后程序会找到这两个数之间的最大公约数。
它运行得很好,只是它输出"1“作为GCD,即使两个数字应该有不同的GCD。(示例:4& 64。GCD应为4,但仍会打印1。)我不知道我的代码出了什么问题。
对于那些想用一种方法回答的人来说,我不能:这是一个任务,需要我在同一个程序中使用两种不同的方法。请帮帮忙?
感谢您的阅读,祝您一周愉快。
下面是我的代码:
import java.util.Scanner;
public class greatestCommonDivisorMethod {
public static void mai
我正在编写一个Fraction类,并尝试在Fraction对象的初始化中使用gcd(a,b)。然而,当我试图做到这一点时,如果没有Fraction.gcd(a,b)的Fraction部分,它将无法工作。我在这里使用了@staticmethod,但它什么也做不了,也就是说,我的代码在没有它的情况下也是一样的。
有没有什么方法我可以调用gcd而不把Fraction.放在前面?在Java中,我通常会创建一个静态方法,然后直接调用它。我可以很容易地将GCD代码放在init中,但我正在努力学习!
我在这里错过了很多。有没有人能解释一下:类中的静态方法,助手方法,以及如何在类中使用各种方法?
class