请问,我想要输出的是字符串,怎么他给我转换成了int型????是在哪个位置出错呢??谢谢各位,我可用分不多了,只好少放点分,希望不影响各位心情.
问题语句:
numString(s.charAt(0)).charAt(j)+numString(s.charAt(1)).charAt(k)+numString(s.charAt(2)).charAt(l)+numString(s.charAt(3)).charAt(m)+numString(s.charAt(4)).charAt(n)+numString(s.charAt(5)).charAt(o)+numString(s.charAt(6)).charAt(p)
完整代码:import java.io.*;
public class RandomNumString
{
//输入1-9中的任意7个数字,如(1234567),其中1可表示为a或b或c,2可表示为d或e或f,3可表示为g或h或i,4可表示为j或K,
//5可表示为l或m或n,6可表示为o或p或q,7可表示为r或s或t,8可表示为u或v,9可表示为w或x或y或z
//如何输出那个7位的数所表示的所有字母组合。如adgjloruw是一种可能。
public static void main(String[] args)
{
try
{
System.out.println("请输入一个七位数,其中不包括0");
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String s=br.readLine();
for(int j=0;j<numString(s.charAt(0)).length();j++)
for(int k=0;k<numString(s.charAt(1)).length();k++)
for(int l=0;l<numString(s.charAt(2)).length();l++)
for(int m=0;m<numString(s.charAt(3)).length();m++)
for(int n=0;n<numString(s.charAt(4)).length();n++)
for(int o=0;o<numString(s.charAt(5)).length();o++)
for(int p=0;p<numString(s.charAt(6)).length();p++)
{
System.out.print(numString(s.charAt(0)).charAt(j)+numString(s.charAt(1)).charAt(k)+numString(s.charAt(2)).charAt(l)+numString(s.charAt(3)).charAt(m)+numString(s.charAt(4)).charAt(n)+numString(s.charAt(5)).charAt(o)+numString(s.charAt(6)).charAt(p));
System.out.println();
}
}
catch(IOException e){}
}
static String numString(char x)
{
String str="a";
if(x=='1')str="abc";
if(x=='2')str="def";
if(x=='3')str="ghi";
if(x=='4')str="jk";
if(x=='5')str="lmn";
if(x=='6')str="opq";
if(x=='7')str="rst";
if(x=='8')str="uv";
if(x=='9')str="wxyz";
return str;
}
}
执行结果如下:
请输入一个七位数,其中不包括0
1234567
739
740
741
740
741
742
741
742
743
740
741
742
741
742
743
742
743
744
741
742
743
742
743
744
743
744......
问题语句:
numString(s.charAt(0)).charAt(j)+numString(s.charAt(1)).charAt(k)+numString(s.charAt(2)).charAt(l)+numString(s.charAt(3)).charAt(m)+numString(s.charAt(4)).charAt(n)+numString(s.charAt(5)).charAt(o)+numString(s.charAt(6)).charAt(p)
完整代码:import java.io.*;
public class RandomNumString
{
//输入1-9中的任意7个数字,如(1234567),其中1可表示为a或b或c,2可表示为d或e或f,3可表示为g或h或i,4可表示为j或K,
//5可表示为l或m或n,6可表示为o或p或q,7可表示为r或s或t,8可表示为u或v,9可表示为w或x或y或z
//如何输出那个7位的数所表示的所有字母组合。如adgjloruw是一种可能。
public static void main(String[] args)
{
try
{
System.out.println("请输入一个七位数,其中不包括0");
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String s=br.readLine();
for(int j=0;j<numString(s.charAt(0)).length();j++)
for(int k=0;k<numString(s.charAt(1)).length();k++)
for(int l=0;l<numString(s.charAt(2)).length();l++)
for(int m=0;m<numString(s.charAt(3)).length();m++)
for(int n=0;n<numString(s.charAt(4)).length();n++)
for(int o=0;o<numString(s.charAt(5)).length();o++)
for(int p=0;p<numString(s.charAt(6)).length();p++)
{
System.out.print(numString(s.charAt(0)).charAt(j)+numString(s.charAt(1)).charAt(k)+numString(s.charAt(2)).charAt(l)+numString(s.charAt(3)).charAt(m)+numString(s.charAt(4)).charAt(n)+numString(s.charAt(5)).charAt(o)+numString(s.charAt(6)).charAt(p));
System.out.println();
}
}
catch(IOException e){}
}
static String numString(char x)
{
String str="a";
if(x=='1')str="abc";
if(x=='2')str="def";
if(x=='3')str="ghi";
if(x=='4')str="jk";
if(x=='5')str="lmn";
if(x=='6')str="opq";
if(x=='7')str="rst";
if(x=='8')str="uv";
if(x=='9')str="wxyz";
return str;
}
}
执行结果如下:
请输入一个七位数,其中不包括0
1234567
739
740
741
740
741
742
741
742
743
740
741
742
741
742
743
742
743
744
741
742
743
742
743
744
743
744......
你用个StringBuffer把它们连起来就行了。
String sb1 = numString(s.charAt(0)).charAt(j)+"";
String sb2 = numString(s.charAt(1)).charAt(k)+"";
String sb3 = numString(s.charAt(2)).charAt(l)+"";
String sb4 = numString(s.charAt(3)).charAt(m)+"";
String sb5 = ""+numString(s.charAt(4)).charAt(n)+"";
String sb6 = numString(s.charAt(5)).charAt(o)+"";
String sb7 = numString(s.charAt(6)).charAt(p)+"";
System.out.print(sb1+sb2+sb3+sb4+sb5+sb6+sb7);
String.valueOf(char c),也可以,你最好去的时候用substring取出来,免得转换!