快速业务通道

Java编程那些事儿45—数组使用示例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

Java编程那些事儿45—数组使用示例

时间:2010-03-07 csdn 陈跃峰

6.3 数组使用示例

本部分通过一系列的示例,熟悉数组的基本语法,并演示一些使用数组可以解决的基本问题。在实际使用数组时,数组的长度以及数组中每个元素存储的数据,都根据逻辑需要进行设计。

6.3.1 循环初始化数组元素

要求:初始化一个长度为100的int数组,数组中的元素依次为1-100。

这是一个基本的使用,主要是熟悉数组的语法,在实际编写时,需要发现数组下标和数组元素值之间的规律即可。

第一种思路:循环数组的下标0-99,则和下标对应的元素的值比数组下标多1。

则实现代码如下:

int[] m = new int[100]; for(int i = 0;i < m.length;i++){  m[i] = i + 1; }

代码说明:声明并初始化一个长度是100的数组,使用循环循环数组的下标,下标的区间是[0,m.length-1],其中m.length表示数组的长度。在实际赋值时,把数组的下标做成变量,则当i的值为0时,则m[i]就是m[0],依次类推,按照题目的要求,则数值的规律是i+1,这样循环结束以后,数组m中的值就依次是1-100了。

第二种思路:循环数组的值1-100,则下标比数组的值下1。

则实现的代码如下:

int[] m = new int[100]; for(int i = 1;i <= 100;i++){  m[i – 1] = i; }

该代码中循环变量i的值从1循环到100,则数组的下标是i – 1,这样也可以实现题目要求的功能。

6.3.2输出数列

要求:输出1 1 2 3 5 8 13……这样的数列,输出该数列的前20个数字。

该题是一个基本的数字逻辑,在实际解决该问题时,首先要发现该数字的规律,然后按照该规律来设计数组即可。

实现思路:数字的规律是除了数列里的前两个数字以外,其它的数字都满足该数字等于前两个数字的和,由于题目要求输出前20个数字,所以需要一个长度为20的数组,第一个和第二个数字直接赋值,后续的数字通过前两个数字元素得到。

则实现的代码如下:

int[] num = new int[20]; num[0] = 1; num[1] = 1; //循环初始化 for(int i = 2;i < num.length;i++){  num[i] = num[i – 1] + num[i – 2]; } //循环输出 for(int i = 0;i < num.length;i++){   System.out.print(num[i]);   System.out.print(‘ ‘); } System.out.println();//换行

在该代码中,初始化一个长度为20的数组,首先将数组中的前两个元素赋值成1,然后循环对后续的元素的赋值,如果当前元素的下标是i,则它前一个元素的下标是i-1,再前面一个元素的下标是i-2,只需要将这2个元素的值相加,然后赋值给当前元素即可。后面使用一个循环,输出数组中所有的元素,元素和元素之间有一个间隔的空格,在输出所有的元素以后换行。

Java编程那些事儿45—数组使用示例(2)

时间:2010-03-07 csdn 陈跃峰

6.3.3 歌手打分

要求:在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。如果已知每个评委的评分,求该选手的得分。

该题实际上涉及到求数组的最大值、最小值,以及求数组中所有元素的和,也是数组方便统计的用途体现。

实现思路:求出数组元素的最大值、最小值以及和,然后使用和减去最大值和最小值,然后除以8获得得分。

则实现的代码如下:

int[] score = {90,78,90,96,67,86,78,92,79,85};//评委打分 int sum = 0;    //存储和 int max =score[0]; //存储最大值 int min = score[0];//存储最小值 //求和 for(int i = 0;i < score.length;i++){  sum += score[i]; } //获得最大值 for(int i = 1;i < score.length;i++){  //比较  if(max < score[i]){  max = score[i];  }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号