您的位置:首页 > 编程语言 > Java开发

JAVA实操:[1]数组习题

2016-02-25 10:27 453 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: