文章目录
- 一、基础案例
- 1.训练案例1
- 2.训练案例2
- 3.训练案例3
- 4.训练案例4
- 5.训练案例5
- 6.训练案例6
- 二、扩展案例
- 1.训练案例1
- 2.训练案例2
- 3.训练案例3
一、基础案例
1.训练案例1
1.1.训练考核知识点
能够完成数组的求最值
1.2.训练描述
定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值
1.3.操作步骤描述
1.定义5个元素数组
2.可以使用初始化数组的两种方式之一为数组元素赋值
3.遍历数组求数组中的最小值
public class test1 {
public static void main(String[] args) {
int[] arr={8,3,9,4,2};
int min=arr[0];
for(int x=1;x<arr.length;x++){
if(arr[x]<min){
min=arr[x];
}
}
System.out.println("数组中最小值为"+min);
}
}
2.训练案例2
2.1.训练考核知识点
数组和随机数综合
2.2.训练描述
定义一个长度为3的一维数组,给每个元素赋值. (要求数组中每个元素的值是0-9的随机数)
遍历数组打印每个元素的值
2.3.操作步骤描述
1.定义长度为3的数组
2.创建Random引用数据类型的变量
3.生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)
4.遍历数组,并打印每一个元素
import java.util.Random;
public class test2 {
public static void main(String[] args) {
Random r=new Random();
int[] data=new int[10];
for(int x=0;x<data.length;x++){
data[x]=r.nextInt(10);
System.out.println(data[x]);
}
}
}
3.训练案例3
3.1.训练考核知识点
数组以及遍历数组综合
3.2.训练描述
已知数组int[] nums = {5,10,15},要求创建一个新数组
1.新数组的长度和已知数组相同
2.新数组每个元素的值 是已知数组对应位置元素的2倍
3.在控制台中打印新数组的所有元素
3.3.操作步骤描述
1.定义题目要求的已知数组
2.定义题目要求的新数组
3.根据条件为新数组中每个元素赋值
4.遍历新数组打印到控制台中
public class test3 {
public static void main(String[] args) {
int[] nums = {5,10,15};
int[] arr=new int[3];
for(int x=0;x<arr.length;x++){
arr[x]=2*nums[x];
System.out.println(arr[x]);
}
}
}
4.训练案例4
4.1.训练考核知识点
数组和判断语句综合
4.2.训练描述
键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,最后打印数组中所有值大于5且为偶数的元素.
4.3.操作步骤描述
1键盘录入一个整数
2定义长度为该整数的数组
3创建Random引用数据类型的变量
4生成5个0-9的随机数,为每一个元素赋值(建议用循环)
5 遍历数组,输出满足条件的元素
import java.util.Random;
public class test2 {
public static void main(String[] args) {
Random r=new Random();
int[] data=new int[5];
for(int x=0;x<data.length;x++){
data[x]=r.nextInt(9);
if(data[x]%2==0&data[x]>5)
System.out.println(data[x]);
}
}
}
5.训练案例5
5.1.训练考核知识点
数组和判断语句综合
5.2.训练描述
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值。
请写代码实现。(不考虑小数部分)
5.3.操作步骤描述
A:定义一个长度为6的数组
B:评委打分的数据采用键盘录入实现
C:写代码获取数组的最大值(最高分)
D:写代码获取数组的最小值(最低分)
E:写代码求数组中的元素和(总分)
F:平均分:(总分-最高分-最低分)/(arr.length-2)
G:输出平均分即可
import java.util.Scanner;
public class test4 {
public static void main(String[] args) {
int[] arr=new int[6];
Scanner sc=new Scanner(System.in);
System.out.print("请输入六个评委的打分:");
for(int i=0;i<6;i++){
int score=sc.nextInt();
arr[i]=score;
}
int min=arr[0];
for(int i=1;i<arr.length;i++) {
if (arr[i] < min) {
min = arr[i];
}
}
int max=arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
int sum=0;
for(int i=0;i<arr.length;i++){
sum=sum+arr[i];
}
sum=sum-max-min;
double a=sum/4;
System.out.print("平均分为"+a);
}
}
6.训练案例6
6.1.训练考核知识点
数组
6.2.训练描述
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
第一个月:1
第二个月:1
第三个月:2
第四个月:3
第五个月:5
…
从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和
第一个月和第二个月的兔子对数都是1
6.3.操作步骤描述
A:由于数据比较多,所以我们定义数组实现
int[] arr = new int[20];
B:给数组中的元素赋值
arr[0] = 1;
arr[1] = 1;
C:从第三个月开始,根据规律赋值
arr[2] = arr[1] + arr[0];
arr[3] = arr[2] + arr[1];
arr[4] = arr[3] + arr[2];
…
D:输出第二十个月的兔子对数,其实就是输出arr[19]
public class test5 {
public static void main(String[] args) {
int[] arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int x=2;x<arr.length;x++)
{
arr[x]=arr[x-1]+arr[x-2];
}
System.out.print("第二十个月的兔子对数为"+arr[19]);
}
}
二、扩展案例
1.训练案例1
2.1.训练考核知识点
数组,键盘录入,随机数,
2.2.训练描述
分析以下需求,并用代码实现
1.键盘录入班级人数
2.根据录入的班级人数创建数组
3.利用随机数产生0-100的成绩(包含0和100)
4.要求:
(1)打印该班级的不及格人数
(2)打印该班级的平均分
(3)演示格式如下:
请输入班级人数:
键盘录入:100
控制台输出:
不及格人数:19
班级平均分:87
2.3.操作步骤描述
1.创建键盘录入对象
2.定义int类型的变量num,并通过键盘录入给num赋值
3.创建int类型的数组,数组长度为num
4.创建Random对象
5.遍历数组
(1)随机产生[0-100]的值
(2)将随机产生的数值赋值给数组中的当前元素
6.定义变量count用于统计不及格学员数量,定义变量sum用于统计总分
7.遍历数组
(1)将当前元素的值累加到sum中
(2)判断当前元素的值如果<60,count++
8.打印不及格数量和平均分(sum/num)
import java.util.Random;
import java.util.Scanner;
public class test6 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入班级人数:");
int n=sc.nextInt();
int[] score=new int[n];
Random r=new Random();
int count=0,sum=0;
for(int x=0;x<score.length;x++){
score[x]=r.nextInt(100);
if(score[x]<60){
count++;
}else{
sum=sum+score[x];
}
}
double avrS=sum/n;
System.out.print("不及格的人数为:"+count);
System.out.print("平均分为:"+avrS);
}
}
2.训练案例2
3.1.训练考核知识点
键盘录入,数组,循环,if
3.2.训练描述
假设有一个长度为5的数组,数组元素通过键盘录入,如下所示:
int[] arr = {1,3,-1,5,-2}
要求:
创建一个新数组newArr[],新数组中元素的存放顺序与原数组中的元素逆序,并且如果原数组中的元素值小于0,
在新数组中按0存储。最后输出原数组和新数组中的内容
请输入5个整数:
1
3
-1
5
-2
原数组内容:
1 3 -1 5 -2
新数组内容:
0 5 0 3 1
3.3.操作步骤描述
1.创建键盘录入对象
2.定义长度为5的int类型的数组arr
3.利用for循环通过键盘录入给数组元素赋值
4.定义长度为5的int类型的新数组newArr,定义int类型的变量index=0,用来表示新数组的元素索引
5.倒着遍历原数组
(1)定义int类型的变量num,并将数组当前元素的值赋值给num
(2)使用if判断num的值
a.如果num>=0,直接将num赋值给新数组的当前元素,index++
b.否则直接将0复制给新数组的当前元素,index++
6.打印原数组和新数组的内容(利用for循环)
import java.util.Scanner;
public class test7 {
public static void main(String[] args) {
int[] arr=new int[5];
Scanner sc=new Scanner(System.in);
System.out.println("原数组为:");
for(int i=0;i<5;i++){
arr[i]=sc.nextInt();
}
int[] newArr=new int[5];
for(int x=4;x>=0;x--){
newArr[x]=arr[4-x];
if(newArr[x]<0){
newArr[x]=0;
}
}
System.out.println("新的数组为");
for(int i=0;i<newArr.length;i++){
System.out.println(newArr[i]);
}
}
}
3.训练案例3
4.1.训练考核知识点
数组,循环结构,判断结构综合应用练习
4.2.训练描述
定义长度为10的int数组,数组中的10个元素为随机生成的1-100的数字,要求:打印数组中第二大的数和第二小的数字
打印格式:
原数组内容
90 34 12 35 98 23 17 71 4 66
数组中的第二大的数字为:90
数组中的第二小的数字为:12
public class test8 {
public static void main(String[] args) {
int [] score={90,34,12,35,98,23,17,71,4,66 };
for(int i=0;i<score.length;i++){
for(int j=i+1;j<score.length;j++){
if(score[i]<score[j]){
int temp=score[i];
score[i]=score[j];
score[j]=temp;
}
}
}
System.out.println("第二大数为"+score[1]);
for(int i=0;i<score.length;i++){
for(int j=i+1;j<score.length;j++){
if(score[i]>score[j]){
int temp=score[i];
score[i]=score[j];
score[j]=temp;
}
}
}
System.out.println("第二小数为"+score[1]);
}
}
最后
以上就是可爱乌冬面最近收集整理的关于Java 基础第四天的全部内容,更多相关Java内容请搜索靠谱客的其他文章。
发表评论 取消回复