求一个算法思想!!! 思想:用2个数组,一个是最后要求的答案,即a数组,另一个b数组里面放1~9的值。用随机函数生成1~9之间的随机数,然后将该随机数作为b数组下标,将该元素的值赋给a数组第i位。然后用b数组中的最前/最后1个元素来覆盖刚才随机抽取的元素。同时,要求下次生成随机数的条件是随机数>;i。可能写的不太清楚,以下提供了参考代码:public class demo {int[]a;int[]b;public demo(){/构造器a=new int[9];b=new int[9];for(int i=0;i;i+){a[0]=0;b[i]=i+1;}}public void test(){int index=0;for(int i=0;i;i+){do {index=(int)(Math.random()*(9-1)+1);} while(index);a[i]=b[index];System.out.println(\"a=\"+a[i]);b[index]=b[i];}}public static void main(String[]Args){demo d=new demo();d.test();}}
java从指定list集合中随机抽取数字且不重复 List list=new ArrayList();list.add(2);list.add(4);list.add(6);Random rd=new Random();int rdm=rd.nextInt(2);String str=\";for(int i=0;istr+list.get(i+rdm);}System.out.println(str);}
Java 从100个数字里 抽取20个 有重复 相加等于21.5 import java.math.BigDecimal;import java.util.Arrays;import java.util.LinkedList;public class JiHe{static public void main(String 参数[]){double[]a={1.7,3.7,11.6,10.1,11.6,11.4,9.9};double count=21.5;Double[]a_=new Double[a.length];for(int j=0;j;j+)a_[j]=new Double(a[j]);Arrays.sort(a_);for(int j=0;j;j+)a[j]=a_[j].doubleValue();LinkedList<;Double>;list=new LinkedList();breakN(a,count,list);}static public void breakN(double table[],double n,LinkedList<;Double>;list){for(double t:table){double next=sub(n,t);if(next[0]){if(next=0){list.add(t);double c=0;if(list.size()){for(double e:list){System.out.print(c>;0?(\"+\"+e):e);c+e;}System.out.println(\"=\"+c);}list.pollLast();}else if(next)break;}else{list.add(t);breakN(table,n-t,list);list.pollLast();}}}public static double sub(double v1,double v2){BigDecimal b1=new BigDecimal(Double.toString(v1));BigDecimal b2=new BigDecimal(Double.toString(v2));return b1.subtract(b2).doubleValue();}}豁出去了,直接给你改好了,这是完全版,。
用java编写程序,从1到100随机抽取一个数,这个数既不能被2整除,也不能被3整除 public class RandomTest{ public static void main(String[]args){ int i=Math.random();random()会自动产生一个0.0-1.0的双精度随机数 System.out.println(i);。
java怎么使用随机抽取数组里的数据? Random r=new Random();System.out.println(b[r.nextInt(3)]);r.nextInt(3);就是随机取得0 1 2这三个2113数中的其中一个5261,然后当做你数组的4102下标,就随1653机抽取了
java:随机抽取100内五个随机数 用 ide 写呀System.out.print(r.nextInt(100)+\"\\t\");是 nextInt