Java 用另一种方法把数字转换成单词

Java 用另一种方法把数字转换成单词,java,numbers,Java,Numbers,我正在创建一个将数字转换为单词的程序。要做到这一点,我想玩很多代码。有没有什么方法可以在短时间内做到这一点 我的代码 public String ConvertViews(int number){ // 1 int a = 999; int b = 1099; int c = 1200; int d = 1299; int e = 1300; int f = 1399; int g = 1400; int h = 1499;

我正在创建一个将数字转换为单词的程序。要做到这一点,我想玩很多代码。有没有什么方法可以在短时间内做到这一点

我的代码

public String ConvertViews(int number){
    // 1
    int a = 999;
    int b = 1099;
    int c = 1200;
    int d = 1299;
    int e = 1300;
    int f = 1399;
    int g = 1400;
    int h = 1499;
    int i = 1500;
    int j = 1599;
    int k = 1600;
    int l = 1699;
    int m = 1700;
    int n = 1799;
    int o = 1800;
    int p = 1899;
    int q = 1900;
    int r = 1999;
    int s = 2000;
    int t = 2099;
    int u = 2100;
    int v = 2199;
    int w = 2200;
    int x = 2299;
    int y = 2300;
   
 
    if(number < b && number > a){
      return "1k+";
    } else if (number < a){
      return "number";
    } else if(number > b && number < c){
      return "1.1k+";
    }else if(number > b && number < d){
      return "1.2k+";
    }else if(number > d && number < g){
      return "1.3k+";
    }else if (number > f && number < i){
      return "1.4k+";
    }else if(number > h && number < k){
      return "1.5k+";
    }else if(number > j && number < m){
      return "1.6k+";
    }else if(number > l && number < o){
      return "1.7k+";
    }else if(number > n && number < q){
      return "1.8k+";
    }else if(number > p && number < s){
      return "1.9k+";
公共字符串转换视图(整数){
// 1
INTA=999;
int b=1099;
int c=1200;
int d=1299;
int e=1300;
int f=1399;
int g=1400;
int h=1499;
int i=1500;
int j=1599;
int k=1600;
INTL=1699;
int m=1700;
int n=1799;
INTO=1800;
int p=1899;
int q=1900;
int r=1999年;
int s=2000;
int t=2099;
INTU=2100;
int v=2199;
int w=2200;
int x=2299;
int y=2300;
如果(编号a){
返回“1k+”;
}否则,如果(数字b&&编号b&&d编号d&&编号f&&编号h&&编号j&&m编号l&&编号n&&编号p&&N编号
请下次更好地描述您的问题。但请尝试使用此代码,如果我正确理解您的问题,此代码应该可以工作。要使用“Ranges”类,您必须将其作为库添加到项目中。在此代码中,我将您的整数转换为范围,并单独询问指定的整数是否在范围内

public static String ConvertViews(int number) {

    Range<Integer> firstIf = Range.between(999,1099);
    Range<Integer> secondIf = Range.between(1099,1200);
    Range<Integer> thirdIf = Range.between(1099,1299);
    Range<Integer> fourthIf = Range.between(1299,1400);
    Range<Integer> fifthIf = Range.between(1399,1500);
    Range<Integer> sixthIf = Range.between(1499,1600);
    Range<Integer> seventhIf = Range.between(1599,1700);
    Range<Integer> eighthIf = Range.between(1699,1800);
    Range<Integer> ninthIf = Range.between(1799,1900);
    Range<Integer> tenthIf = Range.between(1899,2000);


    if (firstIf.contains(number)) {
        return "1k+";
    } else if (number < 999) {
        return "number";
    } else if (secondIf.contains(number)) {
        return "1.1k+";
    }else if (thirdIf.contains(number)) {
        return "1.2k+";
    } else if (fourthIf.contains(number)) {
        return "1.3k+";
    } else if (fifthIf.contains(number)) {
        return "1.4k+";
    } else if (sixthIf.contains(number)) {
        return "1.5k+";
    } else if (seventhIf.contains(number)) {
        return "1.6k+";
    } else if (eighthIf.contains(number)) {
        return "1.7k+";
    } else if (ninthIf.contains(number)) {
        return "1.8k+";
    } else if (tenthIf.contains(number)) {
        return "1.9k+";
    }

    return "ERROR: no match found";
}
公共静态字符串视图(整数){
Range firstIf=介于(9991099)之间的范围;
范围secondIf=范围介于(10991200)之间;
范围thirdIf=范围介于(10991299)之间;
量程四分之一=量程介于(12991400)之间;
Range fifthIf=范围介于(13991500)之间;
第六范围=介于(14991600)之间的范围;
第七范围=介于(15991700)之间的范围;
范围八分之一=范围介于(16991800)之间;
范围ninthIf=范围介于(17991900)之间;
量程tenthIf=量程介于(18992000)之间;
if(firstIf.contains(number)){
返回“1k+”;
}否则,如果(编号<999){
返回“数字”;
}else if(secondIf.contains(number)){
返回“1.1k+”;
}如果(第三个包含(编号)){
返回“1.2k+”;
}else if(四分之一包含(数字)){
返回“1.3k+”;
}else if(第五个包含(数字)){
返回“1.4k+”;
}else if(第六个包含(数字)){
返回“1.5k+”;
}else if(第七个if.包含(编号)){
返回“1.6k+”;
}如果(八分之一包含(数字)){
返回“1.7k+”;
}else if(第九个包含(编号)){
返回“1.8k+”;
}else if(十分之一包含(数字)){
返回“1.9k+”;
}
返回“错误:未找到匹配项”;
}
试试这个

public static String convertViews(int n) {
    if (n < 1000) return "number";
    String f = String.format("%.1f",
        Math.floor(n / 100) / 10).replaceAll("\\.0*$", "");
    return f + "k+";
}
公共静态字符串视图(int n){
如果(n<1000)返回“数字”;
String f=String.format(“%.1f”,
数学地板(n/100)/10.replaceAll(“\\.0*$”,”);
返回f+“k+”;
}

欢迎使用堆栈溢出。请使用,阅读,然后阅读。作为提示:不要显式列出数字,然后进行比较;执行类似(
number/1000
使用
double
)的计算,然后将结果格式化为所需的输出字符串,这样比较短。请检查此项