嫡女不吃素txt:我这JAVA程序怎么运行不出结果啊?

来源:百度文库 编辑:高考问答 时间:2024/04/29 23:26:36
这段程序没报错,但是运行不出我想要的结果.
import java.io.*;
class convert
{
public void convert(String str)
{
int len=str.length();
//System.out.println(len);

if(len==1)
{
convert1(str);
}

if(len==2)
{
convert2(str);
}
if(len==3)
{
convert3(str);
}
if(len==4)
{
convert4(str);
}
if(len==5)
{
convert5(str);
}
}
public void convert1(String str)
{
int i;
int a[]={0,1,2,3,4,5,6,7,8,9,10};
String b[]={"零","一","二","三","四","五","六","七","八","九","十"};
for(i=0;i<11;i++)
{
if(str==b[i])
{
System.out.println("转换的结果是"+a[i]);
}

}
}
public void convert2(String str)
{
int a[]={0,1,2,3,4,5,6,7,8,9,10};
String b[]={"零","一","二","三","四","五","六","七","八","九","十","百"};
if(str.charAt(0)=='十')
{
String str1=str.charAt(1)+"";
for(int i=0;i<11;i++)
{

if(str1==b[i])
{
System.out.println("转换的结果是"+(a[2]+10));
}
//System.out.println(a[2]+10);

}

}

}

public void convert3(String str)
{

}
public void convert4(String str)
{

}
public void convert5(String str)
{

}
}
public class Test
{
public static void main(String args[])
{ convert a=new convert();
a.convert("十二");
}
}
我要输入汉字转换成数字,主要的地方是这几行
String str1=str.charAt(1)+"";
for(int i=0;i<11;i++)
{

if(str1==b[i])
{
System.out.println("转换的结果是"+str1);
}
//System.out.println(b[2]);

}
}

if(str1==b[i]) 这句有问题。
在java,在判断字符串是否一样的时候,尽量用equals方法,用==判断有时会出问题。
改成
if(str1.equals(b[i]))试试。

你要干什么啊