package separate;import java.lang.*;public class max{
char capital[]=new char[100];
int length,t,i,j,n=0;
boolean flag;

capital[0]='!';       //这里不能这样初始化吗?我觉得没错啊!

public char[] getmax(String[] questions){
for(t=0;t<questions.length;t++)
{
 length=questions[t].length();
 char[] array=questions[t].toCharArray();
 for(i=0;i<length;i++)
 { 
 if(array[i]>='A'&&array[i]<='Z')
  {
   flag=true;
   for(j=0;j<n;j++)    
     if(array[i]==capital[j])flag=false;
   if(flag)
    {
     capital[n]=array[i];
     n++;
    }
  }
 }
}
return capital;
}}

解决方案 »

  1.   

    很明显的嘛  capital[0]='!';放到方法体里
      

  2.   

    要么放到方法或构造函数体内,
    public max(){
       capital[0]='!';
    }

    public void init(){
       capital[0]='!';
    }
    要么定义成静态模块
    static char capital[]=new char[100];static{
        capital[0]='!'; //这里不能这样初始化吗?我觉得没错啊
    }
      

  3.   

    对数组赋值有以下方法:1.声明数组的时候赋值。2.在方法体内赋值。这是java规范。