需要解下面這樣的問題:
從0~100 (包含0及100) 隨機選13個數字, 計算出這13個數字中最大值與最小值的差異, 再加1. 好比說最大一個為92, 最小為8, 則92-8+1=85.
因為是隨機取樣, 必須要以JAVA語言寫成讓電腦可以自動計算, 請問該如何寫?
2007-04-14 18:34:09 · 3 個解答 · 發問者 Yi-teh Lue 1 in 電腦與網際網路 ➔ 程式設計
請參考我的寫法
public class A {
public static void main(String[] args) {
int[] ary = new int[13];
for (int i = 0; i < ary.length; i++) {
ary[i] = (int)(Math.random() * 101);
}
int max = -1;
int min = 101;
for (int x: ary) {
if (x > max) max = x;
if (x < min) min = x;
}
System.out.println(max + "-" + min + "+1=" + (max-min+1));
}
}
2007-04-15 15:04:00 · answer #1 · answered by ? 7 · 0⤊ 0⤋
//Power by Eclipse v3.2
import java.util.*;
import java.io.*;
//測試類別檔名 TEST_JAVA.java
public class TEST_JAVA {
public static void main(String[] args){
//==========START==========//
PrintStream p=new PrintStream(System.out);
Scanner input=new Scanner(System.in);
Random random=new Random();
int[] num=new int[13];
for(int i=0;i
num[i]=random.nextInt(100);
p.printf(" %d",num[i]);
}
SORT(num.length,num);//泡沫排序法
p.printf("\nafter SORT...\n");
for(int i=0;i
p.printf(" %d",num[i]);
}
p.printf("\n%d-%d+1= %d\n",num[0],num[num.length-1],num[0]-num[num.length-1]+1);
//==========END==========//
}
public static void SORT(int LEN,int[] N){
for(int i=0;i
for(int j=i,temp;j
if(N[i]
temp=N[i];
N[i]=N[j];
N[j]=temp;
}
}
}
2007-04-15 00:10:24 補充:
我是不知道 JAVA 本身有陣列排序,所以另外寫一個排序函式來作陣列排序。
import java.util.*;
Scanner input=new Scanner(System.in);
上面兩行是用來作輸入資料,因為沒有用到,沒有上面這兩行程式碼是沒有關係的。
2007-04-15 00:13:59 補充:
抱歉!
取隨機數的 Random 類別有用到 util
所以下面只有這一行不需要用到
Scanner input=new Scanner(System.in);
2007-04-14 20:06:01 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋
// 請參考我的寫法~ 希望對你有所幫助 :p
import java.util.Arrays;
public class RandomTest {
public static void main(String[] args) {
int a[] = new int[13];
// 隨機產生13個數 (介於0~100)
for (int i = 0; i < a.length ; i++ ) {
a[i] = (int)(Math.random()* 101);
}
Arrays.sort(a); //排序
System.out.println("最大:" + a[a.length -1]);
System.out.println("最小:" + a[0]);
System.out.println("最大 - 最小 + 1 = " + (a[a.length-1] - a[0] + 1));
}
}
2007-04-14 19:47:34 · answer #3 · answered by tomy 4 · 0⤊ 0⤋