import java.util.Scanner;
public class translate {
public static void main(String[] args) {
while(true)
{
Scanner in = new Scanner(System.in);;
String s;
s = in.nextLine();
char a = s.charAt(0);
String x[]={"zero","one","two", "three","four", "five","six","seven","eight","nine"} ;
String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen", "sixteen","seventeen","eighteen","nineteen" };
String z[]={"twenty","thirty","fourty","fifty", "sixty","seventy", "eighty","ninety" };
int i,shu=0;
for(i=0;i<10;i++)
{
if(s==x[i])
{
shu=shu+i;
break;
}
else if(s==y[i])
{
shu=shu+i+10;
break;
}
}
for(i=0;i<8;i++)
{
if(s==z[i])
{
shu=shu+i*10+20;
break;
}
} if(a=='\n')
{
System.out.println(shu);
shu=0;
}
}
}
}
这个代码不能输出结果,怎么回事啊
public class translate {
public static void main(String[] args) {
while(true)
{
Scanner in = new Scanner(System.in);;
String s;
s = in.nextLine();
char a = s.charAt(0);
String x[]={"zero","one","two", "three","four", "five","six","seven","eight","nine"} ;
String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen", "sixteen","seventeen","eighteen","nineteen" };
String z[]={"twenty","thirty","fourty","fifty", "sixty","seventy", "eighty","ninety" };
int i,shu=0;
for(i=0;i<10;i++)
{
if(s==x[i])
{
shu=shu+i;
break;
}
else if(s==y[i])
{
shu=shu+i+10;
break;
}
}
for(i=0;i<8;i++)
{
if(s==z[i])
{
shu=shu+i*10+20;
break;
}
} if(a=='\n')
{
System.out.println(shu);
shu=0;
}
}
}
}
这个代码不能输出结果,怎么回事啊
import java.util.Scanner;
public class translate {
public static void main(String[] args) {
while(true)
{
Scanner in = new Scanner(System.in);;
String s;
s = in.nextLine(); String x[]={"zero","one","two", "three","four", "five","six","seven","eight","nine"} ;
String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen", "sixteen","seventeen","eighteen","nineteen" };
String z[]={"twenty","thirty","fourty","fifty", "sixty","seventy", "eighty","ninety" };
int i,shu=0;
for(i=0;i<10;i++)
{
if(s.equals(x[i]))
{
shu=shu+i;
System.out.println(shu);
break;
}
else if(s.equals(y[i]))
{
shu=shu+i+10;
System.out.println(shu);
break;
}
}
for(i=0;i<8;i++)
{
if(s.equals(z[i]))
{
shu=shu+i*10+20;
System.out.println(shu);
break;
}
}
}
}
}
你看看'=='和equals()的区别 ‘==’比较内存地址,equals()比较string内容
==:比较的是基本数据类型的值和引用数据类型的内存地址
equals:比较的是引用数据类型的内容,此比较会调用对象的equals()方法(可以在此方法里定义比较规则),如果此对象没有覆写此方法,则调用Object里的equals()方法。
//import java.lang.String;
public class Translation
{
//在输入英文时,如果只有一个字符串要多输入一个“0”来结束输入
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("please input a number 1 or 2 for your need:");
System.out.println("1.Math to English;");
System.out.println("2.English to Math;");
String x[]={"zero","one","two", "three","four", "five","six","seven","eight","nine"} ;
String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen", "sixteen","seventeen","eighteen","nineteen" };
String z[]={"twenty","thirty","fourty","fifty", "sixty","seventy", "eighty","ninety" };
int t;
while(true)
{
t =sc.nextInt();
if(t==1) //数字转成英文
{
System.out.println("please input a mathnumber:");
int m=sc.nextInt();
{
if(m>=0 && m<10)
System.out.println(x[m]);
if(m>=10 && m<20)
System.out.println(y[m-10]);
if(m>=20 && m<100)
System.out.println(z[m/10-2]+'-'+x[m%10]);
else
System.out.println("please input a number between 0 and 99");
}
}
if(t==2) //英文转成数字
{
System.out.println("please input a englishnumber:");
System.out.println("如果您的英文数字只有一个字符串,请输入一个“0”结束");
String s[]=new String[2]; //100以内的英文数字最多两个字符串
s[0]=new String(sc.next()); //输入
s[1]=new String(sc.next());
int i;
for(i=0;i<10;i++)
{
if(s[0].equals(x[i]) && s[1].equals("0"))
{System.out.println(i);
break;}
if(s[0].equals(y[i]) && s[1].equals("0"))
{System.out.println(10+i);
break;}
}
if(i==10)
{int k;
for(k=0;k<8;k++)
for(int j=0;j<10;j++)
{if(s[0].equals(z[k]) && s[1].equals(x[j]))
{System.out.println((k+2)*10+j);
break;}
if(s[0].equals(z[k]) && s[1].equals("0"))
{System.out.println((k+2)*10);
break;}
}
//if(k==8)
// System.out.println("please input a number between 0 and 99");
}
}
else System.out.println("please insure the number you input is 1 or 2");
}
}
}
public class NumberTextTest {
public static void main(String[] args) {
for(Integer number : Arrays.asList(0, 1, 10, 102, 1030, 101002345)) {
System.out.println(NumberText.getInstance(
NumberText.Lang.English).getText(number));
}
}
}run:
zero
one
ten
one hundred and two
one thousand and thirty
one hundred and one million and two thousand three hundred and fourty five
BUILD SUCCESSFUL (total time: 0 seconds)