为什么我在尝试使用void时会在方法中出现语法错误?

时间:2014-02-12 11:36:59

标签: java core

public class createArray {
 public static void main(String args[]){
     int[] Array={1,2,3,4};
     String[] SArray= new String[4];
     SArray[0]="Core";
     SArray[1]=" Java";
     SArray[2]=" Is";
     SArray[3]=" Fun";
     int a=Array[2];

     System.out.println("int[] Array Length Is "+ Array.length +" and numbers are " +Array[0]+Array[1]+a+Array[3]);
     System.out.println(SArray[0]+SArray[1]+SArray[2]+SArray[3]);

     public void compareArray(){}
 }
}

我想比较两个字符串但是当我尝试为它创建一个方法时,Java编译器会抛出一个语法错误,其中包含:

  

令牌“void”

上的语法错误

3 个答案:

答案 0 :(得分:6)

  

您无法在其他方法中嵌套方法

所以将public void compareArray(){}放在main方法之外。

class createArray {

public static void main(String args[]) { . . .}///this is a method

public void compareArray() { . . . }///and this is another method 

}///End of the class

答案 1 :(得分:0)

您可以执行以下操作:

public class createArray {
 public static void main(String args[]){
     int[] Array={1,2,3,4};
     String[] SArray= new String[4];
     SArray[0]="Core";
     SArray[1]=" Java";
     SArray[2]=" Is";
     SArray[3]=" Fun";
     int a=Array[2];

     System.out.println("int[] Array Length Is "+ Array.length +" and numbers are " +Array[0]+Array[1]+a+Array[3]);
     System.out.println(SArray[0]+SArray[1]+SArray[2]+SArray[3]);

     public class InnerClassA{
        public static void compareArray(){ // code here}
     }
 }
}

如果使用内部类是有意义的。

答案 2 :(得分:0)

public class createArray {
public void compareArray(){
//Give the functionality of compairing two strings here.
}
 public static void main(String args[]){
     int[] Array={1,2,3,4};
     String[] SArray= new String[4];
     SArray[0]="Core";
     SArray[1]=" Java";
     SArray[2]=" Is";
     SArray[3]=" Fun";
     int a=Array[2];

     System.out.println("int[] Array Length Is "+ Array.length +" and numbers are " +Array[0]+Array[1]+a+Array[3]);
     System.out.println(SArray[0]+SArray[1]+SArray[2]+SArray[3]);

//Instantiate your class here and call the method. Somewhat like this:
createArray obj = new createArray();
obj.compareArray(//pass your arrays here);

  }}

您收到此错误是因为您已在main方法中声明了一个方法。希望它有所帮助:)