如何在一个java主类中引用另一个类的方法?代码如下: 10
importjava.util.Scanner;importjava.*;publicclassMax2{publicstaticvoidmain(Stringarg[]...
import java.util.Scanner;
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1();
}
}
这个是要引用到上面主类中的类:
package java;
public class max{
public static void max1(int a,int b){
if(a>b)
System.out.println(a);
}
}
运行结果是无法访问max
错误的类文件: .\max.java。
是代码出错了还是哪里的错,该怎么改正? 展开
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1();
}
}
这个是要引用到上面主类中的类:
package java;
public class max{
public static void max1(int a,int b){
if(a>b)
System.out.println(a);
}
}
运行结果是无法访问max
错误的类文件: .\max.java。
是代码出错了还是哪里的错,该怎么改正? 展开
5个回答
展开全部
有两种可能,第一种是你把这两个类放在了不同的包中,
我直接赋值粘贴你的代码新建了一个包test2,创建了这两个类,记得把你的m.max1(a,b);参数加上,(并且输入的时候注意先输入大的数字,比如3,2就会输出3,因为你的代码如果输入2,3则没有任何显示)
以下是可行的:
package test2;
public class max{
public static void max1(int a,int b){
if(a>b)
System.out.println(a);
}
}
//注意在同一个包中创建
package test2;
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}
如果你不想在同一个包中创建,那就加一个语句,比如你的max类写在Package test1中,那就加这句import test1.max;
代码如下:
package test2;
import test1.max;//在这里加入了引入包
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}
第二种情况是:你的确是在同一个包中创建了还是不行,那估计是因为你的包里面还有别的很多class,相互影响了,试试新建一个工程,新建一个包,应该可以解决
我直接赋值粘贴你的代码新建了一个包test2,创建了这两个类,记得把你的m.max1(a,b);参数加上,(并且输入的时候注意先输入大的数字,比如3,2就会输出3,因为你的代码如果输入2,3则没有任何显示)
以下是可行的:
package test2;
public class max{
public static void max1(int a,int b){
if(a>b)
System.out.println(a);
}
}
//注意在同一个包中创建
package test2;
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}
如果你不想在同一个包中创建,那就加一个语句,比如你的max类写在Package test1中,那就加这句import test1.max;
代码如下:
package test2;
import test1.max;//在这里加入了引入包
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}
第二种情况是:你的确是在同一个包中创建了还是不行,那估计是因为你的包里面还有别的很多class,相互影响了,试试新建一个工程,新建一个包,应该可以解决
展开全部
方法为什么定义成static的呢,这样的话不用new直接用max调用就行啊 ,调用时没参数,不报错啊,还想编译
追问
加入参数依然报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态方法不用创建实例,直接max.max1(a,b);调用就可以了。
追问
按您的方法试了一下,还是不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Max2中调用max的静态方法max1没传递参数,应该是编译都会报错的
更多追问追答
追问
加入参数后还是一样的错误提示
追答
什么错误?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正解:
import java.util.Scanner;
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1(a,b);
}
}
import java.util.Scanner;
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1(a,b);
}
}
更多追问追答
追问
不行,加入参数后依然是那个错误提示
追答
public class 后面的名字一定要和你java文件名字同名(去除后面的 .java 后缀)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询