Java 调用数组运算符
各位晚上好。我正在努力解决这个问题,并且遇到了在另一个类中使用一个类的障碍。Eclipse通知我,该错误是试图调用对非静态方法的静态引用的结果。 我所要做的就是在一个程序中多次使用“反向”方法。我知道问题出在“reverse”类中,我希望找到正确的方法格式化该类,以接受来自main方法中代码的输入Java 调用数组运算符,java,arrays,class,Java,Arrays,Class,各位晚上好。我正在努力解决这个问题,并且遇到了在另一个类中使用一个类的障碍。Eclipse通知我,该错误是试图调用对非静态方法的静态引用的结果。 我所要做的就是在一个程序中多次使用“反向”方法。我知道问题出在“reverse”类中,我希望找到正确的方法格式化该类,以接受来自main方法中代码的输入 public static void main (String [] args){ //creating a test array int [] myArray = {0, 1
public static void main (String [] args){
//creating a test array
int [] myArray = {0, 1, 2, 3, 4, 5, 6,7 ,8 ,9};
int [] myArrRev = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
reverse (myArray);
if ( Arrays.equals(myArray, myArrRev))
System.out.println("reverse worked for 10 elements.");
int [] myArray2 = {0, 1, 2, 3, 4, 5, 6,7 ,8};
int [] myArrRev2 = { 8, 7, 6, 5, 4, 3, 2, 1, 0};
reverse (myArray2);
if ( Arrays.equals(myArray2, myArrRev2))
System.out.println("reverse worked for 9 elements.");
int [] myArray3 = {0};
int [] myArrRev3 = {0};
reverse (myArray3);
if ( Arrays.equals(myArray3, myArrRev3))
System.out.println("reverse worked for 1 element.");
int [] myArray4 = {};
int [] myArrRev4 = {};
reverse (myArray4);
if ( Arrays.equals(myArray4, myArrRev4))
System.out.println("reverse worked for 0 elements.");
}
void reverse( int arr[] ){
for(int i = 0; i < arr.length / 2; i++)
{
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
}
}
publicstaticvoidmain(字符串[]args){
//创建测试数组
int[]myArray={0,1,2,3,4,5,6,7,8,9};
int[]myArrRev={9,8,7,6,5,4,3,2,1,0};
反向(myArray);
if(Arrays.equals(myArray,myArrRev))
System.out.println(“10个元素的反向工作”);
int[]myArray2={0,1,2,3,4,5,6,7,8};
int[]myArrRev2={8,7,6,5,4,3,2,1,0};
背面(myArray2);
if(Arrays.equals(myArray2,myArrRev2))
System.out.println(“9元素反向工作”);
int[]myArray3={0};
int[]myArrRev3={0};
背面(myArray3);
if(Arrays.equals(myArray3,myArrRev3))
System.out.println(“1个元素的反向工作”);
int[]myArray4={};
int[]myArrRev4={};
反面(myArray4);
if(Arrays.equals(myArray4,myArrRev4))
System.out.println(“0元素反向工作”);
}
无效反向(int arr[]){
对于(int i=0;i
将方法声明更改为:
static void reverse( int arr[] )
将方法声明更改为:
static void reverse( int arr[] )
有没有办法做到这一点而不使其静止?我试着从主方法中删除“static”,但这显然不起作用。@JWelch将其设置为
static
有什么问题?但是,您可以创建类的实例,然后使用该实例调用非静态方法。但是为什么呢?这有什么意义?该方法没有使用该类的任何字段,为什么?有没有一种方法可以在不使其成为静态的情况下执行此操作?我试着从主方法中删除“static”,但这显然不起作用。@JWelch将其设置为static
有什么问题?但是,您可以创建类的实例,然后使用该实例调用非静态方法。但是为什么呢?这有什么意义?该方法没有使用该类的任何字段,为什么?