关于java函数传递的,调试时jianshu()返回失败,求指教!!!
2011-02-28 23:19
351 查看
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)
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)
相关文章推荐
- 关于C、java、php的函数参数传递特点的分析
- 关于C++调用jar包,在创建虚拟机时使用JNI_CreateJavaVM调用失败返回-1的问题
- Java值传递和地址传递:关于String类型和集合类型作为函数参数时传值问题的测试
- 关于Java的引用和函数参数传递
- 关于自己调试中的函数返回值的部分讨论
- 一个关于函数内部指针参数返回的错误调试及分析
- phonegap js端调用Java端函数及获取返回参数
- 关于UpdateLayeredWindow调用失败返回0但是Getlasterror为0的问题
- 关于java语言中方法参数传递问题
- java 关于传递参数的问题
- 关于对话框DoModal()函数调用失败的原因分析
- 关于JavaScript的JSON和函数返回
- 为什么Java的InputStream.read函数要返回int型而实际上它只读一个byte
- 关于static与返回指针的函数
- 关于C#和JAVA之间通过Socket实现局域网传递数据
- C语言中关于返回指针的函数和指向函数的指针
- 关于"Java中方法参数的传递方式"的探讨
- 关于java方法参数是值传递还是地址传递。
- 关于C语言中函数调用和参数传递机制的探讨(zz)
- 关于利用USMART控制stm32单片机调试助手XCOM输入的函数