无法找到符号(调用方法)
我是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();
System.out.println("Enter second number");
int num2=input.nextInt();
System.out.println("The Greatest common factor of "+num1+" "+num2+" is "+GCD(num1,num2));
}
}
和我的方法如下。当我尝试编译此我得到这个GCD.java:4:错误:类,接口,或枚举预期
public class GCD{
public static int GCD(int num1, int num2){
if(num2==0){
return num1;
}
return(GCD(num2, num1%num2));
}
}
谢谢!
GCD
是GCD
的方法,而非当前类,所以你需要
System.out.println("The Greatest common factor of " + num1 + " " + num2
+ " is " + GCD.GCD(num1, num2));
的GCD
类本身需要在一个单独的文件就被宣布public
按照惯例注Java中的方法名称以lowercase letter开头,例如gcd
以小写字母“(按惯例)” – Steve 2015-03-08 17:14:19
程序中有多个错误。首先GCD是一个类,而不是一个方法,所以在你的主,
System.out.println("The Greatest common factor of "+num1+" "+num2+" is "+GCD(num1,num2));
这是试图调用一个“类”,并尝试与一些参数,这是错误的喂养它。由于GCD方法是一种静态方法,因此可以执行GCD.GCD(...,...),但大多数情况下方法名称与类名称相同,因此应该为构造方法保留,因此您希望找到不同的名称该方法
有两种方式到修复您的代码,并得到你想要的东西:
1在一个类(称为tester121.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();
System.out.println("Enter second number");
int num2=input.nextInt();
System.out.println("The Greatest common factor of "+num1+" "+num2+" is "+GCD(num1,num2));
}
public static int GCD(int num1, int num2){
if(num2==0){
return num1;
}
return(GCD(num2, num1%num2));
}
}
把这段代码放在一个名为tester121.java
的文件中,然后你应该编译它。
2)在两个独立的类一切: 第一类: (此保存为GCD.java)
public class GCD{
public static int GCD(int num1, int num2){
if(num2==0){
return num1;
}
return(GCD(num2, num1%num2));
}
}
二等(此保存为tester121.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();
System.out.println("Enter second number");
int num2=input.nextInt();
System.out.println("The Greatest common factor of "+num1+" "+num2+" is "+GCD.GCD(num1,num2));
}
}
在第二种情况下,您需要请拨打电话GCD.GCD(num1,num2))
,因为该方法声明为静态
我更改了GCD类的名称 – Ryan206 2015-03-08 17:12:08
您在哪里定义此类? – Makoto 2015-03-08 17:12:09
第二课? – Ryan206 2015-03-08 17:12:39