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

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值