急~請懂JAVA高手幫忙

2007-04-15 6:34 am
需要解下面這樣的問題:

從0~100 (包含0及100) 隨機選13個數字, 計算出這13個數字中最大值與最小值的差異, 再加1. 好比說最大一個為92, 最小為8, 則92-8+1=85.

因為是隨機取樣, 必須要以JAVA語言寫成讓電腦可以自動計算, 請問該如何寫?

回答 (3)

2007-04-16 3:04 am
✔ 最佳答案
請參考我的寫法

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 8:06 am

//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.length;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<num.length;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<LEN;i++)

for(int j=i,temp;j<LEN;j++)

if(N[i]<N[j]){

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-15 7:47 am
// 請參考我的寫法~ 希望對你有所幫助 :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));
}
}
參考: me


收錄日期: 2021-04-27 17:16:41
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070414000010KK09957

檢視 Wayback Machine 備份