问题描述
importjava.util.*;publicclassMain{publicstaticintperfect(Strings){chara='a';intarray[]=newint[10];intintarray[]=newint[26];for(intj=0;j<26;j++){intarray[j]=j+1;}intsum=0;for(inti=0;i<s.length();i++){a=s.charAt(i);if('a'==a){a=(char)intarray[0];array[i]=(int)a;}elseif('b'==a){a=(char)intarray[1];array[i]=(int)a;}elseif('c'==a){a=(char)intarray[2];array[i]=(int)a;}elseif('d'==a){a=(char)intarray[3];array[i]=(int)a;}elseif('e'==a){a=(char)intarray[4];array[i]=(int)a;}elseif('f'==a){a=(char)intarray[5];array[i]=(int)a;}elseif('g'==a){a=(char)intarray[6];array[i]=(int)a;}elseif('h'==a){a=(char)intarray[7];array[i]=(int)a;}elseif('i'==a){a=(char)intarray[8];array[i]=(int)a;}elseif('j'==a){a=(char)intarray[9];array[i]=(int)a;}elseif('k'==a){a=(char)intarray[10];array[i]=(int)a;}elseif('l'==a){a=(char)intarray[11];array[i]=(int)a;}elseif('m'==a){a=(char)intarray[12];array[i]=(int)a;}elseif('n'==a){a=(char)intarray[13];array[i]=(int)a;}elseif('o'==a){a=(char)intarray[14];array[i]=(int)a;}elseif('p'==a){a=(char)intarray[15];array[i]=(int)a;}elseif('q'==a){a=(char)intarray[16];array[i]=(int)a;}elseif('r'==a){a=(char)intarray[17];array[i]=(int)a;}elseif('s'==a){a=(char)intarray[18];array[i]=(int)a;}elseif('t'==a){a=(char)intarray[19];array[i]=(int)a;}elseif('u'==a){a=(char)intarray[20];array[i]=(int)a;}elseif('v'==a){a=(char)intarray[21];array[i]=(int)a;}elseif('w'==a){a=(char)intarray[22];array[i]=(int)a;}elseif('x'==a){a=(char)intarray[23];array[i]=(int)a;}elseif('y'==a){a=(char)intarray[24];array[i]=(int)a;}else{a=(char)intarray[25];array[i]=(int)a;}sum+=array[i];}returnsum;}//start提示:自动阅卷起始唯一标识,请勿删除或增加。publicstaticvoidmain(Stringargs[]){Stringc;c="asdfsdf";System.out.println(perfect(c));}//end//提示:自动阅卷结束唯一标识,请勿删除或增加。}提交结果:执行测试用例失败!Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:10atMain.perfect(Main.java:147)atMain.main(Main.java:178)
解决方案
解决方案二:
你那个报错是数组越界了。Main.java的147行。运行这个没错:importjava.util.*;publicclassMain{publicstaticintperfect(Strings){chara='a';intarray[]=newint[10];intintarray[]=newint[26];for(intj=0;j<26;j++){intarray[j]=j+1;}intsum=0;for(inti=0;i<s.length();i++){a=s.charAt(i);if('a'==a){a=(char)intarray[0];array[i]=(int)a;}elseif('b'==a){a=(char)intarray[1];array[i]=(int)a;}elseif('c'==a){a=(char)intarray[2];array[i]=(int)a;}elseif('d'==a){a=(char)intarray[3];array[i]=(int)a;}elseif('e'==a){a=(char)intarray[4];array[i]=(int)a;}elseif('f'==a){a=(char)intarray[5];array[i]=(int)a;}elseif('g'==a){a=(char)intarray[6];array[i]=(int)a;}elseif('h'==a){a=(char)intarray[7];array[i]=(int)a;}elseif('i'==a){a=(char)intarray[8];array[i]=(int)a;}elseif('j'==a){a=(char)intarray[9];array[i]=(int)a;}elseif('k'==a){a=(char)intarray[10];array[i]=(int)a;}elseif('l'==a){a=(char)intarray[11];array[i]=(int)a;}elseif('m'==a){a=(char)intarray[12];array[i]=(int)a;}elseif('n'==a){a=(char)intarray[13];array[i]=(int)a;}elseif('o'==a){a=(char)intarray[14];array[i]=(int)a;}elseif('p'==a){a=(char)intarray[15];array[i]=(int)a;}elseif('q'==a){a=(char)intarray[16];array[i]=(int)a;}elseif('r'==a){a=(char)intarray[17];array[i]=(int)a;}elseif('s'==a){a=(char)intarray[18];array[i]=(int)a;}elseif('t'==a){a=(char)intarray[19];array[i]=(int)a;}elseif('u'==a){a=(char)intarray[20];array[i]=(int)a;}elseif('v'==a){a=(char)intarray[21];array[i]=(int)a;}elseif('w'==a){a=(char)intarray[22];array[i]=(int)a;}elseif('x'==a){a=(char)intarray[23];array[i]=(int)a;}elseif('y'==a){a=(char)intarray[24];array[i]=(int)a;}else{a=(char)intarray[25];array[i]=(int)a;}sum+=array[i];}returnsum;}//start提示:自动阅卷起始唯一标识,请勿删除或增加。publicstaticvoidmain(Stringargs[]){Stringc;c="asdfsdf";System.out.println(perfect(c));}//end//提示:自动阅卷结束唯一标识,请勿删除或增加。}
解决方案三:
这是在庞果网上提交时报的错
解决方案四:
我表示转换成ASCII码更为简洁方便publicclassMain{publicstaticintperfect(Strings){charch='a';intsum=0;Stringc="";Scannerin=newScanner(System.in);c=in.nextLine();int[]a=newint[c.length()];for(inti=0;i<c.length();i++){a[i]=c.charAt(i);a[i]=(int)a[i]-(int)ch+1;sum+=a[i];}returnsum;}publicstaticvoidmain(String[]args){Stringc="";System.out.print(perfect(c));}}
不过庞果网需要自行初始化字符串。。。编译通过了,但是测试用例没通过
解决方案五:
不过庞果网需要自行初始化字符串。。。编译通过了,但是测试用例没通过这是什么意思?我也提交了觉得没有问题但是报告“测试用例没通过”,但后面没有出错的例子
解决方案六:
"main"