注册 登录
编程论坛 JAVA论坛

Java:将100以内的数字翻译成英文。问:为什么输入后没有输出

紫诺 发布于 2020-03-08 20:30, 1673 次点击
package ch02;
import java.util.Scanner;

public class L {
    public static void main(String[] args) {
        int x[] = { 0, 1};
        int y[]={ 2, 3, 4, 5, 6, 7, 8, 9 };
        int h[]={1,2,3,4,5,6,7,8,9};
        String z[] = { "zero", "one", "two", "three", "four", "five", "six",
                "eight", "nine" };
        String w[] = {"ten", "eleven", "twelve", "thirteen", "fourteen",
                "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
        String t[] = {"twenty", "thirty", "fourty", "fifty", "sixty",
                "seventy", "eighty", "ninty" };
        Scanner sin=new Scanner(System.in);
        System.out.println("请输入数字");
        int m=sin.nextInt();
        int num[]=new int[m];
        for(int i=0;i<3;i++){
            num[i]=sin.nextInt();
        }
        for(int j=0;j<3;j++)
        {
        if(num[0]==1)
            {
                for(int i=0;i<10;i++)
                {
                    if(num[1]==x[i])
                    {
                        System.out.println(w[i]);
                    }
                }
            }
            else if(num[0]==0)
            {
                for(int i=0;i<10;i++)
                {
                    if(num[1]==x[i])
                    {
                        System.out.println(z[i]);
                    }
                }
            }
            else
            {
                for(int i=0;i<10;i++)
                {
                    if(num[0]==y[i])
                    {
                        for(int a=0;a<10;a++)
                        {
                            if(num[1]==h[a])
                            {
                                System.out.println(t[i]+"-"+z[i+1]);
                            }
                            else if(num[1]==0)
                            {
                                System.out.println(t[a]);
                            }
                        }
                    }
                }
               
            }
        }
        
        sin.close();
    }
}
2 回复
#2
叶纤2020-03-08 21:50
可以看懂,不过我需要把它翻译成c++然后换种写法,你这样写太啰嗦了
#3
林月儿2020-03-08 22:50
程序代码:
package com.test;

import java.util.Scanner;

public class Day0308 {
    public static void main(String[] args) {
        String oneArr[] = { "zero", "one", "two", "three", "four", "five", "six",
                "seven", "eight", "nine" };
        String twoArr[] = {"ten", "eleven", "twelve", "thirteen", "fourteen",
                "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
        String tenArr[] = {"twenty", "thirty", "fourty", "fifty", "sixty",
                "seventy", "eighty", "ninty" };
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字");
        int m = scanner.nextInt();
        scanner.close();
        if (m < 10) {
            System.out.println(oneArr[m]);
        } else if (m < 20) {
            System.out.println(twoArr[m-10]);
        } else if (m < 100) {
            System.out.print(tenArr[m/10-2] + " ");
            if(m % 10 > 0) {
                System.out.println(oneArr[m%10]);
            }
        }
    }
}
1