java实验五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:循环结构与数组
一、实验目的
1.掌握一维数组的概念、定义和使用
2.掌握数组与循环结构的联合使用
二、实验内容
1、随机产生20个0到100的整数,求最大值及其下标、最小值及其下标、平均值,并显示数组的所有元素值(按每行输出5个元素)以及最大值及其下标、最小值及其下标和平均值。
【提示】
产生随机数的方法:double number=Math.random( );(number以属于[0,1))
提示代码:
public class ArrayEx1 {
public static void main(String arge[]){
int maxi=0,sum=0,aver;
int []number;
number= new int[20];
for(int i=0;i<20;i++){
number[i]=(int)(101*Math.random());
System.out.print(number[i]+" ");
//如何五个打一行!
}
System.out.println();
for(int i=0;i<20;i++)
{
sum=sum+number[i];
if(number[maxi] } aver=sum/20; System.out.println("maxi="+maxi+" number["+maxi+"]="+number[maxi]); //最小值呢? System.out.println("aver="+aver); } } 2、用计算机模拟掷骰子游戏。编程序统计掷N次(N尽量的大,例如100000次)后各点数出现的次数。 【提示】 定义数组Dian[6],分别存放1至6点出现的次数。产生一个[1,6]间的随机整数x,如果是3,就将Dian[2]的值增加1,依此类推。 提示代码: public static void main(String arge[]){ int number; int []dian={0,0,0,0,0,0}; for(int i=0;i<10000;i++){ number=1+(int)(6*Math.random()); if(number==1)dian[0]++; else if(number==2)dian[1]++; else if(number==3)dian[2]++; else if(number==4)dian[3]++; else if(number==5)dian[4]++; else if(number==6)dian[5]++; } for(int i=0;i<6;i++){ System.out.println("dian["+i+"]="+dian[i]); } } 要求:求出各点数的占总数的比例。用switch改写if语句。 3、编写程序,输出斐波那契级数1、1、2、3、5、8……的前30项,要求每行输出5个。(用数组来实现) 【提示】 斐波那契数列的特点是:第一、第二都是1,从第三项开始,前面相邻两项之和,构成了后一项。即:a[n]=a[n-1]+a[n-2]。 public class ArrayEx1 { public static void main(String arge[]){ int []fb; fb= new int[30]; //初始前两项 for(int i=2;i<30;i++){ ????????????? //求第i项 System.out.println(fb[i]+" "); //怎么五个显示一行,怎么显示第1,2项 } } } 4、随机产生20个学生的考试成绩,并显示。统计各分数段人数,即0~59、60~69、70~79、80~89、90~100,并显示结果。 【提示】(与上题类似) 声明一个数组S[5],分别存放各分数段的人数,并且确定分数与S数组的下标关系。 5、编程采用冒泡法实现对数组元素由小到大排序。 冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。提示:关键代码如下: for(i=0;i for(j=i+1;j if(intArray[i]>intArray[j]){ t=intArray[i];intArray[i]=intArray[j];intArray[j]=t; } 三、思考题 1.Java语言中的数组的使用要经过哪三个过程?它们是如何实现的?