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" }; 用Java命令行输入或在Eclipse中设置参数一个小于100的整数,将其翻成英文表示。 例如: 输入32,输出:thirty two 输入14,输出:fourteen 输入8, 输出:eight 反之,输入英文表示,输出相应的整数。
时间: 2023-06-29 14:17:43 浏览: 48
非常抱歉,我刚刚的代码中有一处小错误,应该是“forty”而不是“fourty”,我在下面的代码中进行了更正。请注意使用正确的代码:
```java
public class NumberToEnglish {
private static final String[] x = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
private static final String[] y = {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
private static final String[] z = {"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
String result = "";
if (n < 10) {
result = x[n];
} else if (n < 20) {
result = y[n - 10];
} else if (n < 100) {
int tens = n / 10;
int ones = n % 10;
result = z[tens - 2];
if (ones != 0) {
result += " " + x[ones];
}
}
System.out.println(result);
}
}
```
```java
public class EnglishToNumber {
private static final String[] x = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
private static final String[] y = {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
private static final String[] z = {"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
public static void main(String[] args) {
String s = args[0];
int result = 0;
for (int i = 0; i < x.length; i++) {
if (s.equals(x[i])) {
result = i;
break;
}
}
for (int i = 0; i < y.length; i++) {
if (s.equals(y[i])) {
result = 10 + i;
break;
}
}
for (int i = 0; i < z.length; i++) {
if (s.equals(z[i])) {
result = (i + 2) * 10;
break;
}
}
System.out.println(result);
}
}
```
谢谢您的理解!