educoderjava答案数组进阶_educoder---Java⼊门-数组基础第1关:初始数组
任务描述
本关任务:定义数组,使⽤数组。
相关知识
问:道友,我要保存4名学⽣的考试成绩,怎么办?
答:简单啊,定义四个变量呗。
问:那“计算全年级500名学⽣的考试成绩的平均值”,怎么办?
答:。。。。
数组:我来。
数组是什么
如果说我们之前使⽤的变量可以⽐作是⼀个装⽔的杯⼦,那么数组你可以看做是⼀个杯架(只能装⼀种杯⼦的杯架)。
怎么定义数组
java定义一维数组并赋值变量类型[] 数组名 = {数据1,数据2,数据3,...};
怎么访问数组中的元素
访问数组中的元素使⽤:数组名[索引值],索引值⼀般也叫做数组的下标。
数组名[数组下标]
编程要求
在Begin-End区域中定义⼀个int类型数组 scores,录⼊三个值,91,88,60,最后输出数组中的三个值,效果如图:
测试说明
平台会对你编写的代码进⾏测试:若与预期输出相同,则算通关。
实现代码
package step1;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
int[] scores = {91,88,60};
System.out.println("数组的第⼀个值为:"+scores[0]); //在这⾥输出数组的第⼀个值
System.out.println("数组的第⼆个值为:"+scores[1]);//在这⾥输出数组的第⼆个值
System.out.println("数组的第三个值为:"+scores[2]);//在这⾥输出数组的第三个值
/********** End **********/
}
}
第2关:数组的使⽤
任务描述
本关任务:使⽤多种⽅式定义数组,并输出数组中的数据。
相关知识
为了完成本关任务你需要掌握:数组初始化的两种⽅式,
1.静态初始化;
2.动态初始化。
静态初始化
在程序运⾏前就能确定数组的⼤⼩和数组中的初始数据我们称之为静态初始化。
例如:
float[] stuScores = {80.0f,70.0f,90.0f,66.5f};
int[] nums = {80,70, 90,66};
char[] chs = {‘a’,’b’, ‘c’,’d’};
动态初始化
数组的⼤⼩或数组中数据在程序运⾏时才能决定,且⽤到new这个关键字来确定数组的⼤⼩或初始数据我们称之为动态初始化。定义数组:
变量类型[] 数组名 = new 数据类型 [ 数组长度 ];
定义数组与初始化分离:
赋值:
初始化之后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 stuScores数组中存放学⽣成绩:
编程要求
使⽤本关所学知识,根据右侧编辑器Begin-End中提⽰补充代码,赋值并输出数组中的信息。
测试说明
我会对你的程序测试两次:
输⼊:3
预期输出:
数组中的第⼀个数据为:张三
数组中的第⼆个数据为:张⽆忌
数组中的第三个数据为:张三丰
数组中的第四个数据为:张岁⼭
数组scores的长度为:3
输⼊:5
预期输出:
数组中的第⼀个数据为:张三
数组中的第⼆个数据为:张⽆忌
数组中的第三个数据为:张三丰
数组中的第四个数据为:张岁⼭
数组scores的长度为:5
实现代码
package step2;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
//在这⾥定义⼀个长度为4的字符串数组,⽤来存放学⽣姓名
String[] stuNames = new String[4];
//在这⾥给stuNames数组赋值 分别为 张三,张⽆忌,张三丰,张岁⼭
stuNames[0] = "张三";
stuNames[1] = "张⽆忌";
stuNames[2] = "张三丰";
stuNames[3] = "张岁⼭";
//在这⾥输出stuNames数组中的数据
System.out.println("数组中的第⼀个数据为:" +stuNames[0] );
System.out.println("数组中的第⼆个数据为:" + stuNames[1]);
System.out.println("数组中的第三个数据为:" + stuNames[2]);
System.out.println("数组中的第四个数据为:" + stuNames[3]);
int[] scores;
Scanner sc = new Scanner(System.in);
//在这⾥使⽤Scanner获取系统输⼊的整数,并⽤获取到的数据来设置scores数组的长度int length = sc.nextInt();
scores = new int[length];
/********** End **********/
System.out.println("数组scores的长度为:" + scores.length);
}
}
第4关:数组练习-平均值和最⼤值
任务描述
本关任务:编写⼀个能计算数组平均值和最⼤值的⼩程序。
相关知识
为了完成本关任务,你需要知道:
1.如何获取数组的长度,
2.如何遍历数组。
获取数组的长度
数组的length属性⽤于记录数组中有多少个元素或存储单元,即记录数组的长度是多少。
int[] nums = new int[10];//声明⼀个int型数组并动态初始化其⼤⼩为10
System.out.println(nums.length);//显⽰当前数组的⼤⼩
输出:10
遍历数组
通俗的理解,遍历数组就是:把数组中的元素都看⼀遍。
⽰例如下:
int[] arr = {1,3,5,7,9};
for(int i = 0 ; i
System.out.print(arr[i] + ",");
}
输出:1,3,5,7,9
如何求出最⼤值
要求出数组的最⼤值,是不是很像是打擂台呢?
对于⼀⼈我们不知道谁最厉害,所以我们准备⼀个擂台,并挑选第⼀个⼈为擂主(max),擂台下的⼈不断的(循环)来挑战擂主,如果赢了那挑战者就是擂主,之前的擂主就下台了,直到没有挑战者了,那最后⼀个擂主就是最厉害的那个了。
编程要求
根据提⽰,在右侧编辑器Begin-End处补充代码,计算并输出数组的平均值和最⼤值。
测试说明
我会对你编写的代码进⾏测试:
测试输⼊:4,91,51,2,32;
预期输出:
平均值:44.0
最⼤值:91
测试输⼊:5,1,151,12,22,100;
预期输出:
平均值:57.2
最⼤值:151
提⽰:
int a = 3;
int b = 2;
System.out.println(a/b);
System.out.println((double)a/b);
输出:
1
1.5
实验代码
package step3;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] scores = new Int()];
//循环给数组赋值
for(int i = 0 ; i< scores.length;i++){ scores[i] = sc.nextInt();
}
/********** Begin **********/
//在这⾥计算数组scores的平均值和最⼤值float sum = 0;
int max = scores[0];
float avg;
for(int i = 0; i < scores.length; i++){ sum = sum + scores[i];
}
for(int i = 1; i < scores.length; i++){
if(scores[i]>scores[i-1]){
max = scores[i];
}else{
break;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。