package com.practise01;
import java.util.Random;
/**
* 数组练习
*/
public class test01 {
public static void main(String[] args) {
//1. 需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值
//2.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最小值。
//3. 需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值以及最大值的下标。
//4.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最小值以及最小值的下标。
//5.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值,最小值,最大值下标,最小值下标。
//6.需求:有一个具有5个 int 数据的数组,数组中的每个元素都是[10, 100]之间的随机数。编写代码求出数组中的最大值,最小值,最大值下标,最小值下标。
//7.需求:有一个具有5个 int 数据的数组,数组中的每个元素都是[10, 30]之间的随机数。编写代码求出数组中的元素的和以及元素的平均值,打印出所有高于平均值的数,打印出所有低于平均值的数。
//8.需求:有一个包含10个元素的数组,每个元素的值在[10,30]之间,查找数组中是否包含18,如果有18,打印出值为18的元素的下标。如果没有18,打印“数组中不包含18”。
//---------------------------------------------第一题------------------------------------------------------------
//1. 需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值
// int[] arr = {10,8,23,41,52,66,34,12};
// int max = 0;
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > max){
// max = arr[i];
// }
// }
// System.out.println("max="+max);
//---------------------------------------------第2题------------------------------------------------------------
//2.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最小值。
// int[] arr = {10,8,23,41,52,66,34,12};
// int min = 100;
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] < min){
// min = arr[i];
// }
// }
// System.out.println("min="+min);
//---------------------------------------------第3题------------------------------------------------------------
//3. 需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值以及最大值的下标。
// int[] arr = {10,8,23,41,52,66,34,12};
// int max = 0;
// int indexMax = 0;//下标
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > max){
// max = arr[i];
// indexMax = i;
// }
// }
// System.out.println("max="+ max);
// System.out.println("indexMax="+indexMax);
//---------------------------------------------第4题------------------------------------------------------------
//4.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最小值以及最小值的下标。
// int[] arr = {10,8,23,41,52,66,34,12};
// int min = 100;
// int indexMin = 0;
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] < min){
// min = arr[i];
// indexMin = i;
// }
// }
// System.out.println("min=" + min);
// System.out.println("indexMin=" + indexMin);
//---------------------------------------------第5题------------------------------------------------------------
//5.需求:有一组数据 10,8,23,41,52,66,34,12。编写代码求出数组中的最大值,最小值,最大值下标,最小值下标。
// int[] arr = {10,8,23,41,52,66,34,12};
// int max = 0;
// int min = 100;
// int indexMax = 0;
// int indexMin = 0;
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > max){
// max = arr[i];
// indexMax = i;
// }else if (arr[i] < min){
// min = arr[i];
// indexMin = i;
// }
// }
// System.out.println("max = " + max + ", " + "min = " + min + " .");
// System.out.println("indexMax = " + indexMax + " ," + "indexMin = "+ indexMin + " .");
//---------------------------------------------第6题------------------------------------------------------------
//6.需求:有一个具有5个 int 数据的数组,数组中的每个元素都是[10, 100]之间的随机数。编写代码求出数组中的最大值,最小值,最大值下标,最小值下标。
// int[] arr = new int[5];
// Random r = new Random();
// int max = 0;
// int min = 100;
// int indexMax = 0;
// int indexMin = 0;
// for (int i = 0; i < arr.length; i++) {
// arr[i] = r.nextInt(100-10+1)+10;
// if (arr[i] > max){
// max = arr[i];
// indexMax = i;
// }else if (arr[i] < min){
// min = arr[i];
// indexMin = i;
// }
// }
// System.out.println("max="+max);
// System.out.println("min="+min);
// System.out.println("indexMax = "+indexMax);
// System.out.println("indexMin = "+indexMin);
//---------------------------------------------第7题------------------------------------------------------------
//7.需求:有一个具有5个 int 数据的数组,数组中的每个元素都是[10, 30]之间的随机数。编写代码求出数组中的元素的和以及元素的平均值,打印出所有高于平均值的数,打印出所有低于平均值的数。
// int[] arr = new int[5];
// Random r = new Random();
// double avg = 1.0;
// int sum = 0;
// for (int i = 0; i < arr.length; i++) {
// arr[i] = r.nextInt(30-10+1)+10;
// System.out.println("arr[i]="+arr[i] +" ");
// sum += arr[i];
// }
// System.out.println();
// avg = sum * 1.0 / arr.length;
// System.out.println("avg="+avg);
// System.out.println("高于平均值的数:");
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > avg){
// System.out.println("arr[i] = "+arr[i]);
// }
// }
//---------------------------------------------第8题------------------------------------------------------------
//8.需求:有一个包含10个元素的数组,每个元素的值在[10,30]之间,查找数组中是否包含18,如果有18,打印出值为18的元素的下标。如果没有18,打印“数组中不包含18”。
int[] arr = new int[10];
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(30-10+1)+10;
System.out.print(arr[i] + " ");
}
System.out.println();
boolean isContain = false;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 18){
isContain = true;
break;
}
}
if (isContain == false){
System.out.println("数组中不包含18");
}else {
System.out.println("数组中包含18,下标为:");
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 18){
System.out.println(i + " ");
}
}
}
}
}
数组练习题
最新推荐文章于 2024-08-30 22:17:40 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)