关于java函数传递的,调试时jianshu()返回失败,求指教!!!

来源:互联网 发布:平板淘宝怎么看直播 编辑:程序博客网 时间:2024/05/22 14:28

package infro;
import java.util.Scanner;

public class select {
 
 public static void main(String[] args) {
  char s1[]={'w','o','r','k'};
  char s2[]={'b','a','c','k'};
  char s3[]={'c','o','m','e'};
  char s4[]={'d','e','a','l'};
  char s5[]={'d','e','k','a'};
  char s6[]={'b','o','o','k'};
  char s7[]={'j','a','v','a'};
  char s8[]={'t','o','o','l'};
  char s9[]={'f','a','c','e'};
  char s0[]={'g','o','o','d'};
  System.out.println("please,input numbers:");
  Scanner in=new Scanner(System.in);
  String a=in.next();
  int x=Integer.valueOf(a);
        compareStr( x,s1);
  compareStr( x,s2);
  compareStr( x,s3);
  compareStr( x,s4);
  compareStr( x,s5);
  compareStr( x,s6);
  compareStr( x,s7);
  compareStr( x,s8);
  compareStr( x,s9);
  compareStr( x,s0);
 }

 public static char[] jianShu(int y){
  char st[]={};
  switch(y){
  case 2: st[0]='a';st[1] = 'b';st[2]='c';break;
  case 3: st[0]='d';st[1] = 'e';st[2]='f' ;break;
  case 4: st[0]='g';st[1] = 'h';st[2]='i';break;
  case 5: st[0]='j';st[1] = 'k';st[2]='l';break;
  case 6: st[0]='m';st[1] = 'n';st[2]='o';break;
  case 7: st[0]='p';st[1] = 'q';st[2]='r';st[3]='s';break;
  case 8: st[0]='t';st[1] = 'u';st[2]='v';break;
  case 9: st[0]='w';st[1] = 'x';st[2]='y';st[3]='z';break;
  default:System.out.println("error1");
  }
  return st;
 }
 
 public static void compareStr(int x,char[] str){
  int b=0,c=0,d=0,e=0,bz=1;
  e=x/1000;
  d=x%1000/100;
  c=x%100/10;
  b=x%10;
  int[] k={e,d,c,b};
  for(int j=0;j<3;j++){
   for(int i=0;i<4;i++){
    char[] s=jianShu(k[j]);
    if(s[i]==str[j]){bz=1; break;}
    else  bz=0;
     } 
  }
  if(bz==1){
   System.out.println("存在匹配的单词:");
   System.out.print(x);
   System.out.print("    ");
   for(int i=0;i<4;i++){
    System.out.print(str[i]);
   }
   System.out.println();
  }
  else System.out.println("没有匹配的单词!"); 
 }

}

 

 

运行后结果:

please,input numbers:
8945
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
 at infro.select.jianShu(select.java:42)
 at infro.select.compareStr(select.java:58)
 at infro.select.main(select.java:21)

原创粉丝点击