double  test=0;  
test=100*35%+random.nextInt(0-1)*5%;
老报错,这句话该怎么写?我不是很懂啊!请各位赐教

解决方案 »

  1.   

    java中支持%吗,不太了解
    如果实在不行你只能把35%换成是(35/100)
    这样就可以了.
      

  2.   

    java.text.NumberFormat类支持不同地域的百分比格式
    用法:
    import java.util.Locale;
    import java.text.NumberFormat;public class Test
    {
       static public void main(String[] args){
       NumberFormat nf;
       String out;    nf= NumberFormat.getPercentInstance(new Locale("en", "US"));
       out= nf.format(new Double(3235.66));
       System.out.println(out);
       }
    }输出结果:
    323,566%
      

  3.   

    用小数计算,需要输出百分数的情况,再用DecimalFormat 来转换
    /*
     * @(#) Test.java
     */package jamesfancy;import java.text.DecimalFormat;
    public class Test {    public static void main(String args[]) {
            double test = 0.35 + Math.random() * 0.05;
            DecimalFormat fmt = new DecimalFormat("#%");
            System.out.println(fmt.format((test)));
        }
    }另外,你取随机数用 random.nextInt(0-1) 也错了
    你需要取的值是0-1之间的数的话,用 Math.random() 就好
    如果你需要取0-50的整数的话,可以用 random.nextInt(50)
    但 random 要提前申明和赋值
    java.util.Random random = new java.util.Random();