注册 登录
编程论坛 C语言论坛

用Java将100以内的数字翻译成英文,为什么我的程序输入后不能输出

紫诺 发布于 2020-03-08 20:41, 2152 次点击
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();
    }
}
3 回复
#2
林月儿2020-03-08 23:18
java的问题建议去java板块问,发了好几个,其他的有人帮你移过了
#3
叶纤2020-03-09 01:46
程序代码:

#include <iostream>
#include<string>
using namespace std;
int main()
{
   string own[]={"zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen",
   "seventeen","eighteen","nineteen"};
   string  t[] = {"twenty", "thirty", "fourty", "fifty", "sixty",
                "seventy", "eighty", "ninty" };

             int tem{};


                cout<<"请输入数字\n ";

                cin>>tem;


                if(tem<20){cout<<own[tem];}

                else{

                    int shiwei=tem/10;
                    int gewei=tem%10;
                    if(gewei==0){cout<<t[shiwei-2];}
                    else{cout<<t[shiwei-2]<<"-"<<own[gewei];}
                    }
            }


请输入数字
 2
two
请输入数字
 13
thirteen
请输入数字
 45
fourty-five
请输入数字
 90
ninty
#4
xianfajushi2020-03-09 08:42
我看找蛙代码和C#有点像.
看代码有点疑惑为何限制为3,假如输入大于3?
        int m=sin.nextInt();
        int num[]=new int[m];
        for(int i=0;i<3;i++){
            num[i]=sin.nextInt();
        }
1