JAVA每日作业day5.29

依旧是活力满满的一天奥老铁们。

今天学习了数组,数组包括了以下方面:

1.动态初始化:自己定义数组的长度,系统决定初始值。

2.静态初始化:自己决定数组的初始值,系统决定长度。

3.数组的的索引:索引从0开始并逐一增加(每次加1),我们要存储数组的数据时,要用索引来存储,话不多说上代码。

有两种方法,第一种直接一个一个去存储,第二种用键盘录入,for循环, i<arr.lenght,(数组的长度),然后用变量str去接收用户输入的数据,再用数组索引去接收str的值,最后输出打印。

我们遍历数组时也要用到索引,来人上例子:

遍历数组也有两种奥,第一种依旧是直男使用方法,直接打印数组的数据,第二种就用for循环,用变量str去接收数据,然后打印输出。别写出数组范围了奥老铁们,说到超出数组范围时我们看下面,

4.索引越界异常:有两种

第一种

我们先写一个数组,数组范围是0-4不包括5,那我们直接输出打印索引为5的数据会怎么样呢,

会坏掉的(😍),然后我们就能看到一片鲜艳红代码,怎么办呢?这时不要慌,我们直接用baidu翻译,让它(你知道的),ArrayIndexOutOfBoundsException 翻译过来就是:数组越界异常,我们可以通过改变数组的范围来解决,或者直接使用数组范围的数也可以。嘻嘻

下面我们看另外一个错误

我们写一个数组包含1-3的数据,先使数组=null,表示什么都没有,我们再打印索引为0的数据,显示报错,这时我们再掏出baidu翻译看看怎么事,NullPointerException :空指针异常

显示数组没有数据,所以报错,这个不太常出现,可以了解一下哈;

下面我们用数组来做以下题目;

一,获取数组的最大值和最小值  (int[] arr = {12,45,98,73,60};)

你们也可以自己定义一个数组来做,Not much to say 直接上代码。

我们写一个数组,用一个变量max来接收数组的最大值,我们默认索引为0的数据为最大值,

用for循环写,数组的范围,用if语句判断,如果arr [ i ] > max,当数组的数据大于max(arr [ 0 ])

arr[ 0 ]=12,arr[ 1 ] =45,我们就使max=arr[ 1 ],这样子去循环,直到max=数组的最大值,

求最小值也一样的思路,当arr[ i ]< min,直到min=数组的最小值即可。

二,需求:随机产生10个[0,100]之间整数,统计既是3又是5,但不是7的倍数的个数

家人们这题也是直接拿下了,嘿嘿

我们先写一个数组,题目要求生成随机数,我们就用Random来生成,记得(0-100)可以在后面加个1或直接写(101);然后我们用一个变量num接收输出的个数,

用for循环写出数组的范围,随机数记得写循环里面,用if语句判断随机数是否满足条件,满足的话num递增。

最后在输出打印语句就ok了。

三,需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。

这老登一反常态,最难的留最后了,

这题我们分为两个部分来做。

我们键盘录入好用来记录评委打分,写一个数组来记录评委个数,写一个变量sum后面好接收键盘录入的数据,再用for循环,循环数组的范围,if语句判断键盘录入是否在1到100的范围里面,如果在就用数组接收,反之,不在的话,停止循环,

接下来就是求最大值,最小值,上面做过了哦

再看下面,

定义一个变量total接收评委打分的总分数,简简单单奥,用一个for循环,循环数组,

再用 total+=arr[ i ],计算出总分数,在打印输出就行了。

最后用变量avg来算出除max和min的平均数

打印输出得到结果;

这题别看代码挺多的,其实拆分来看的话很简单,主要是做题思路找到了,就very好做了。

ok了家人们今天这个数组简简单单拿下了,明天见❤️

  • 32
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值