/*
* Main.java
*
* InToEnglish Java application
*
* Created on 21-09-2008 12:05 AM
*/ import java.util.Random;
import javax.swing.*;
import java.text.*;public class Main{
public static void main(String[] args) {
int i = 0;
Random generator = new Random();
int number = generator.nextInt(101);
int number1 = 0;
int number2 = 0;
int number3 = 0;
String[] num = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen","fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
String[] tens = {"","", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty","nintety"};
String[] hundreds={"","one hundred","two hundreds","three hundreds","four hundreds","five hundreds","six hundreds","seven hundreds","eight hundreds","nine hundreds"};
String input = JOptionPane.showInputDialog(null, "Enter an interger number within 0-9999:");
i = (int) Double.parseDouble(input);
//xxxx start
if (i<10000 ){
if (i>999){
number =0;
number = i/1000;
number1 = i%1000/100;
number2 = i%100;
number3=0;
if (number2<20){
if (number2==0)
{
number2=0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1]);
} if (number2>0){
number3=number2;
number2= 0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" "+ tens[number2] + " and "+ num[number3]); }
if (number2>19 ){
number3=number2%10;
number2=number2/10;
//System.out.println(number2+"num " +number3);
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" "+ tens[number2] + " and "+ num[number3]); }
//System.out.println( i + " " +number +" and"+number1 + " and "+ number2 + "AND"+ number3);
}
}
}
//xxxx end
//xxx start
if (i <1000){
if (i>99)
{
number =0;
number1 =0;
number1 = i /100;
number2 = 0;
number2 = i %100;
if (number2<20){
number3=number2;
number2= 0;}
if (number2>19){
number3=number2%10;
number2=number2/10;}
System.out.println( i + " is "+hundreds[number1] +" " + tens[number2] + " and "+ num[number3]);
}
}
//xxx end
//XX start
if (i> 0 ){
if (i<99){
number=0;
number1=0;
number2=i;
//System.out.println(i+" is "+ number2+" "+number3);
if (number2<20){
number3=number2;
number2= 0;
System.out.println(i +" is "+ num[number3]);
}
if (number2>19){
number3=number2%10;
number2=number2/10;
//System.out.println(i+" "+ number2+" "+number3);
System.out.println(i +" is "+ tens[number2] + " "+ num[number3]);
}
}
}
//xx end效果是輸入數字出英文數字
* Main.java
*
* InToEnglish Java application
*
* Created on 21-09-2008 12:05 AM
*/ import java.util.Random;
import javax.swing.*;
import java.text.*;public class Main{
public static void main(String[] args) {
int i = 0;
Random generator = new Random();
int number = generator.nextInt(101);
int number1 = 0;
int number2 = 0;
int number3 = 0;
String[] num = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen","fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
String[] tens = {"","", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty","nintety"};
String[] hundreds={"","one hundred","two hundreds","three hundreds","four hundreds","five hundreds","six hundreds","seven hundreds","eight hundreds","nine hundreds"};
String input = JOptionPane.showInputDialog(null, "Enter an interger number within 0-9999:");
i = (int) Double.parseDouble(input);
//xxxx start
if (i<10000 ){
if (i>999){
number =0;
number = i/1000;
number1 = i%1000/100;
number2 = i%100;
number3=0;
if (number2<20){
if (number2==0)
{
number2=0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1]);
} if (number2>0){
number3=number2;
number2= 0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" "+ tens[number2] + " and "+ num[number3]); }
if (number2>19 ){
number3=number2%10;
number2=number2/10;
//System.out.println(number2+"num " +number3);
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" "+ tens[number2] + " and "+ num[number3]); }
//System.out.println( i + " " +number +" and"+number1 + " and "+ number2 + "AND"+ number3);
}
}
}
//xxxx end
//xxx start
if (i <1000){
if (i>99)
{
number =0;
number1 =0;
number1 = i /100;
number2 = 0;
number2 = i %100;
if (number2<20){
number3=number2;
number2= 0;}
if (number2>19){
number3=number2%10;
number2=number2/10;}
System.out.println( i + " is "+hundreds[number1] +" " + tens[number2] + " and "+ num[number3]);
}
}
//xxx end
//XX start
if (i> 0 ){
if (i<99){
number=0;
number1=0;
number2=i;
//System.out.println(i+" is "+ number2+" "+number3);
if (number2<20){
number3=number2;
number2= 0;
System.out.println(i +" is "+ num[number3]);
}
if (number2>19){
number3=number2%10;
number2=number2/10;
//System.out.println(i+" "+ number2+" "+number3);
System.out.println(i +" is "+ tens[number2] + " "+ num[number3]);
}
}
}
//xx end效果是輸入數字出英文數字
if (number2 == 0) {
number2 = 0;
System.out.println(i + " is " + num[number] + " thousand(s) " + hundreds[number1]);
} if (number2 > 0) {
number3 = number2;
number2 = 0;
System.out.println(i + " is " + num[number] + " thousand(s) " + hundreds[number1] + " " + tens[number2] + " and " + num[number3]); } if (number2 > 19) {
number3 = number2 % 10;
number2 = number2 / 10; // System.out.println(number2+"num " +number3);
System.out.println(i + " is " + num[number] + " thousand(s) " + hundreds[number1] + " " + tens[number2] + " and " + num[number3]); } // System.out.println( i + " " +number +" and"+number1 + "
// and "+
// number2 + "AND"+ number3);
}
}你的这一段逻辑很乱,没有充分考虑到4位数的情况,也没有判断number2>=20的情况,对于1120以上数,你就没有办法进行判断了。
import javax.swing.*;
import java.text.*; public class Main{
public static void main(String[] args) {
int i = 0;
Random generator = new Random();
int number = generator.nextInt(101);
int number1 = 0;
int number2 = 0;
int number3 = 0;
String[] num = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen","fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
String[] tens = {"","", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty","nintety"};
String[] hundreds={"","one hundred","two hundreds","three hundreds","four hundreds","five hundreds","six hundreds","seven hundreds","eight hundreds","nine hundreds"};
String input = JOptionPane.showInputDialog(null, "Enter an interger number within 0-9999:");
i = (int) Double.parseDouble(input);
//xxxx start
if (i <10000 ){
if (i>999){
number =0;
number = i/1000;
number1 = i%1000/100;
number2 = i%100;
number3=0;
if (number2 <20){
if (number2==0)
{
number2=0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1]);
} if (number2>0){
number3=number2;
number2= 0;
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" "+ tens[number2] + " and "+ num[number3]); }
}
if (number2>19 ){
number3=number2%10;
number2=number2/10;
//System.out.println(number2+"num " +number3);
System.out.println( i + " is " +num[number] +" thousand(s) "+hundreds[number1] +" and "+ tens[number2] + " "+ num[number3]); }
//System.out.println( i + " " +number +" and"+number1 + " and "+ number2 + "AND"+ number3);
}
} //xxxx end
//xxx start
if (i <1000){
if (i>99)
{
number =0;
number1 =0;
number1 = i /100;
number2 = 0;
number2 = i %100; if (number2 <20){
number3=number2;
number2= 0;}
if (number2>19){
number3=number2%10;
number2=number2/10;} System.out.println( i + " is "+hundreds[number1] +" and " + tens[number2] + " "+ num[number3]);
}
}
//xxx end
//XX start
if (i> 0 ){
if (i <99){
number=0;
number1=0;
number2=i;
//System.out.println(i+" is "+ number2+" "+number3);
if (number2 <20){
number3=number2;
number2= 0;
System.out.println(i +" is "+ num[number3]);
} if (number2>19){
number3=number2%10;
number2=number2/10; //System.out.println(i+" "+ number2+" "+number3);
System.out.println(i +" is "+ tens[number2] + " "+ num[number3]);
}
}
}
}
}
import java.util.Random;
import javax.swing.*;
import java.text.*;public class Main {
public static void main(String[] args) {
int i = 0;
Random generator = new Random();
int number = generator.nextInt(101);
int number1 = 0;
int number2 = 0;
int number3 = 0;
String[] num = { "zero", "one", "two", "three", "four", "five", "six",
"seven", "eight", "nine", "ten", "eleven", "twelve",
"thirteen", "fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen" };
String[] tens = { "", "", "twenty", "thirty", "forty", "fifty",
"sixty", "seventy", "eighty", "nintety" };
String[] hundreds = { "", "one hundred", "two hundreds",
"three hundreds", "four hundreds", "five hundreds",
"six hundreds", "seven hundreds", "eight hundreds",
"nine hundreds" }; String input = JOptionPane.showInputDialog(null,
"Enter an interger number within 0-9999:");
i = (int) Double.parseDouble(input);
// xxxx start
if (i < 10000) {
if (i > 999) {
number = 0;
number = i / 1000;
number1 = i % 1000 / 100;
number2 = i % 100;
number3 = 0;
if (number2 < 20) {
if (number2 == 0) {
number2 = 0;
System.out.println(i + " is " + num[number]
+ " thousand(s) " + hundreds[number1]);
} if (number2 > 0) {
number3 = number2;
number2 = 0;
System.out.println(i + " is " + num[number]
+ " thousand(s) " + hundreds[number1] + " "
+ tens[number2] + " and " + num[number3]); }
}
if (number2 > 19) {
number3 = number2 % 10;
number2 = number2 / 10; // System.out.println(number2+"num " +number3);
System.out.println(i + " is " + num[number]
+ " thousand(s) " + hundreds[number1] + " and "
+ tens[number2] + " " + num[number3]); } // System.out.println( i + " " +number +" and"+number1 + " and
// "+ number2 + "AND"+ number3);
}
} // xxxx end
// xxx start
if (i < 1000) {
if (i > 99) {
number = 0;
number1 = 0;
number1 = i / 100;
number2 = 0;
number2 = i % 100; if (number2 < 20) {
number3 = number2;
number2 = 0;
}
if (number2 > 19) {
number3 = number2 % 10;
number2 = number2 / 10;
} System.out.println(i + " is " + hundreds[number1] + " and "
+ tens[number2] + " " + num[number3]);
}
}
// xxx end
// XX start
if (i > 0) {
if (i < 99) {
number = 0;
number1 = 0;
number2 = i;
// System.out.println(i+" is "+ number2+" "+number3);
if (number2 < 20) {
number3 = number2;
number2 = 0;
System.out.println(i + " is " + num[number3]);
} if (number2 > 19) {
number3 = number2 % 10;
number2 = number2 / 10; // System.out.println(i+" "+ number2+" "+number3);
System.out.println(i + " is " + tens[number2] + " "
+ num[number3]);
}
}
}
}
}