java 中 50%:25%:25% 怎么算

2024-12-18 01:38:39
推荐回答(2个)
回答1:

import java.util.*;

public class Test14{

 public static void main(String args[]){

    String s = "50%:20%:30%";

    calc(s);

 }

public static void calc(String s){

    String s1[] = s.split(":");

    int a = Integer.parseInt((s1[0]).substring(0,s1[0].length()-1));

    int b = Integer.parseInt((s1[1]).substring(0,s1[1].length()-1));

    int c = Integer.parseInt((s1[2]).substring(0,s1[2].length()-1));

   int g = getMaxGYS(a,b,c);

   System.out.println(a/g+":"+b/g+":"+c/g);

}

//取得最大公约数,参数限定死为三个,如果要改成多个可以换成数组。

public static int getMaxGYS(int a,int b,int c){

    int maxgys  =1;

    int z = 0;

if(a>=b && a>=c)z=a;

else if(b>=a && b>=c) z=b;

else z=c;

    for(int i=2;i<=z/2+1;i++){

        if(a%i==0 && b%i==0 && c%i==0){maxgys = i;}

    }

return maxgys;

}

}

ps:费了很大功夫写完调试完。本来知道有点麻烦的,看到你给的财富值比较少,没想写的,不过我看你总计也只有16财富值,就给了10个,还算大方。再者我感觉这个功能还是有点儿意思,还是觉得用点时间写下来。希望对你有所帮助。

回答2:

算法很重要哦~~~~~