日期:2014-05-20  浏览次数:20761 次

编译过程中出现莫名其妙的问题
我有一段程序如下public class ArraySort{
   public static void main(String args[]){
    int array[]={20,10,50,40,30,70,60,80,90,100};
    int i,j,k,t;
    int l=array.length;
    for(i=0;i<l-1;i++)
    {
     k=i;
     for(j=i+1;j<l;j++)
     if(array[j]<array[k]) k=j;
     t=array[k];array[k]=array[i];array[i]=t;
    }
    for(i=0;i<l;i++)
    System.out.println("array["+i+"]="+array[i]);
   }
  }
编译后它总告诉我数字.等号什么的许多符号是不合法的,恨不能理解
D:\java\programme>javac ArraySort.java
ArraySort.java:2: 非法字符: \12288
   public static void main(String args[]){
^
ArraySort.java:2: 非法字符: \12288
   public static void main(String args[]){
 ^
ArraySort.java:2: 非法字符: \12288
   public static void main(String args[]){
  ^
ArraySort.java:2: 需要 <标识符>
   public static void main(String args[]){
  ^
ArraySort.java:2: 需要 ';'
   public static void main(String args[]){
  ^
ArraySort.java:3: 非法字符: \12288
    int array[]={20,10,50,40,30,70,60,80,90,100};
^
ArraySort.java:3: 非法字符: \12288
    int array[]={20,10,50,40,30,70,60,80,90,100};
 ^
ArraySort.java:3: 非法字符: \12288
    int array[]={20,10,50,40,30,70,60,80,90,100};
  ^
ArraySort.java:3: 非法字符: \12288
    int array[]={20,10,50,40,30,70,60,80,90,100};
  ^
ArraySort.java:3: 需要 ';'
    int array[]={20,10,50,40,30,70,60,80,90,100};
  ^
ArraySort.java:3: 不是语句
    int array[]={20,10,50,40,30,70,60,80,90,100};

这是怎么回事啊


------解决方案--------------------
敲了全角的中文空格了吧
------解决方案--------------------
Java code

public class ArraySort{ 
    public static void main(String args[]){
        int array[]={20,10,50,40,30,70,60,80,90,100}; 
        int i,j,k,t; 
        int l=array.length; 
        for(i=0;i <l-1;i++) 
        { 
            k=i; 
            for(j=i+1;j <l;j++) 
                if(array[j] <array[k]) k=j; 
                t=array[k];array[k]=array[i];array[i]=t; 
        } 
        for(i=0;i <l;i++) 
            System.out.println("array["+i+"]="+array[i]);
    } 
}

------解决方案--------------------
应该是中文空格的问题。。。。
------解决方案--------------------
大哥你的每一行代码都有全角空格,而且for循环的括号也不匹配,肯定编译不过
建议以后写代码用工具如eclipse等
修正后代码:
Java code

public class ArraySort {
    public static void main(String args[]){ 
    int array[]={20,10,50,40,30,70,60,80,90,100}; 
    int i,j,k,t; 
    int l=array.length; 
    for(i=0;i <l-1;i++) 
    {
    k=i; 
    for(j=i+1;j <l;j++) {
    if(array[j] <array[k]) k=j; 
    t=array[k];array[k]=array[i];array[i]=t; 
    }
    for(i=0;i <l;i++) {
        System.out.println("array["+i+"]=" + array[i]); 
   }
  }
}
}