0
大家晚上好。我正在通过这种方式工作,并且在另一个班级中使用班级时遇到了阻碍。 Eclipse会告诉我这个错误是因为试图调用对一个非静态方法的静态引用。 我想要做的就是在一个程序中多次使用“反向”方法。我知道问题出现在“反向”类中,并且正在寻找正确的方式来格式化该类,以接受来自主方法中代码的输入。调用数组运算符
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;
}
}
}
是有办法做到这一点不使其静态的?我试图从主要方法中删除“静态”,但显然不会工作。 –
@JWelch使它成为'static'有什么问题?但是,您可以创建您的类的实例,然后使用该实例调用非静态方法。但为什么?那有什么意义呢?该方法不使用该类的任何*字段,为什么? – Andreas