天天看點

JAVA實操:[1]數組習題

1、輸出1 1 2 3 5 8 13……這樣的Fibonacci數列,輸出該數列的前20個數字。

  實作思路:數字的規律是除了數列裡的前兩個數字以外,其它的數字都滿足該數字等于前兩個數字的和,由于題目要求輸出前20個數字,是以需要一個長度為20的數組,第一個和第二個數字直接指派,後續的數字通過前兩個數字元素得到。

class Fib

{

public static void main(String args[])

{

int [] a=new int[20];

int i=0;

for(i=0;i<20;i++)

{

if(i==0||i==1)

a[i]=1;

else

a[i]=a[i-1]+a[i-2];

System.out.print(a[i]+" ");

}

}

}

2、歌手打分:在歌唱比賽中,共有10位評委進行打分,在計算歌手得分時,去掉一個最高分,去掉一個最低分,然後剩餘的8位評委的分數進行平均,就是該選手的最終得分。輸入每個評委的評分,求某選手的得分。

  實作思路:求出數組元素的最大值、最小值以及和,然後使用和減去最大值和最小值,然後除以8獲得得分。

class Score

{

public static void main(String args[])

{

int max,min,s=0,i=0;

float aver;

int[] a; 

a=new int[10];

for(i=0;i<10;i++)

 a[i]=Integer.parseInt(args[i]);

for(i=0;i<10;i++)  //求和

s+=a[i];

max=a[0];

for(i=1;i<10;i++)  //求最大值

if(a[i]>max)

max=a[i];

min=a[0];

for(i=1;i<10;i++)  //求最小值

if(a[i]<min)

min=a[i];

aver=(s-max-min)/8.0f;

System.out.println("這位歌手的平均分是:"+aver);

}

}

3、判斷一個數組{1,2,3,1,0}中是否存在相同的元素,如果存在相同的元素則輸出“重複”,否則輸出“不重複”。

   實作思路:假設數組中的元素不重複,兩兩比較數組中的元素,使用數組中的第一個元素和後續所有元素比較,接着使用數組中的第二個元素和後續元素比較,依次類推實作兩兩比較,如果有一組元素相同,則數組中存儲重複,結束循環。把比較的結果存儲在一個标志變量裡,最後判斷标志變量的值即可。

class Repeat

{

public static void main(String args[])

{

int [] a={1,2,3,1,0}; 

int i,j;

boolean p=false;  //利用boolean類型,書寫簡單

for(i=0;i<a.length-1;i++) 

for(j=i+1;j<a.length;j++)

{

if(a[i]==a[j])

{p=true;

break;}

}

if(p==true)

System.out.println("重複");

else

System.out.println("不重複");

}

}

class Repeat

{

public static void main(String args[])

{

int [] a={1,2,3,4,0}; 

int i,j;

for(i=0;i<a.length-1;i++) 

for(j=i+1;j<a.length;j++)

{

if(a[i]==a[j])

{System.out.println("重複");

 return;}

}

if(i==a.length-1)

System.out.println("不重複");

}

}

4、将十進制整數35轉換為二進制數。        

   實作思路:将除二取餘得到的第一個數字存儲在數組中第一個元素,第二次得到的餘數存儲在數組中第二個元素,依次類推,最後反向輸出獲得的數字即可。

class DtoB

{

public static void main(String args[])

{

int x=35;

int a[]=new int[32];

for(int i=0;i<32;i++)

{

a[i]=x%2;

x/=2;

}

for(int i=a.length-1;i>=0;i--)

System.out.print(a[i]);

}

}

轉自:http://jingyan.baidu.com/article/a948d6515e81800a2ccd2e5b.html