①统计数组{20,45,78,34,16,3,99,56}中大于50的有多少个、小于50的有多少个并打印输出。
解析:首先需要定义一个数组并初始化,将{20,45,78,34,16,3,99,56}存入数组中,再用到循环将数组中的数据拿出,再和50做比较,在这之前定义两个变量,一个count1,一个count2分别用来记录大于50的数字数量和记录小于50的数字的数量。
代码如下:
package array;
/**
* Author lilshork
* Date 2022/7/4 16:48
* 统计数组{20,45,78,34,16,3,99,56}中大于50的有多少个、小于50的有多少个并打印输出
**/
public class Demo09 {
public static void main(String[] args) {
int a[] = {20,45,78,34,16,3,99,56};
int count1 = 0;
int count2 = 0;
for (int i = 0; i < a.length; i++) {
if (a[i]>50){
System.out.println("大于50的数:"+a[i]);
count1++;
}else if(a[i]<50){
System.out.println("小于50的数:"+a[i]);
count2++;
}
}
System.out.println("大于50的数总共有"+count1+"个");
System.out.println("小于50的数总共有"+count2+"个");
}
}
②随机生成10个1-100的数字,求出大于这10个数的平均数的个数。
解析:根据需求,需要定义以下的变量:avg存放平均数、count记录大于平均数的个数、sum记录10个随机数字的和,还需要定义一个数组用来存放随机生成的10个1-100的数字,同时,在对数组初始化时,因为数据不清楚,所以定义一个动态数组。因为随机要生成1-100的数字,而random随机产生的数是[0,1),所以在这里要注意。
代码如下:
package array;
import java.util.Random;
/**
* Author lilshork
* Date 2022/7/5 16:34
* 随机生成10个1-100的数字,求出大于这10个数的平均数的个数
**/
public class Demo12 {
public static void main(String[] args) {
// 定义一个变量存放平均数
int sum = 0;
double avg = 0;
int count = 0;
// 定义动态数组存放随机生成的数字
int arr[] = new int[10];
Random random = new Random();
// 循环生成10个1-100的随机数并存放在数组中
System.out.print("生成的随机数为:");
for (int i = 0; i < 10; i++) {
arr[i] = random.nextInt(100) + 1;
sum+=arr[i];
System.out.print(arr[i]+" ");
}
avg = sum/ arr.length;
for (int i = 0; i < arr.length; i++) {
if(arr[i]>avg){
count++;
}
}
System.out.println();
System.out.println("平均数为:"+avg);
System.out.println("大于平均数的个数为:"+count);
}
}
③在数组{4,5,6,2,3,1,9,8,7,10,12,14,15}中查找元素(先打印输出所有元素,输入一个数,如果找到了则打印输出其位置,没有找到则提示没有找到,能够一直输入数据,对数据进行查询)。
解析:先定义一个数组将数据存储起来,先用一个循环将所有数据打印输出,再定义一个变量count,并且初始赋值为0,用来记录输入的数字是否能在数组中找到,因为不知道要输入的次数,所以用到while循环,在while循环中再嵌套一个for循环,用来对输入的数据进行判断。
代码如下:
package array;
import java.util.Scanner;
/**
* Author lilshork
* Date 2022/7/5 19:11
**/
public class Demo13 {
public static void main(String[] args) {
int a[] = {4, 5, 6, 2, 3, 1, 9, 8, 7, 10, 12, 14, 15};
int index = 0;
int count = 0 ;
System.out.print("数组中的数有:");
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
while(true){
System.out.println();
System.out.println("请输入一个数字:");
int s = scanner.nextInt();
for (int i = 0; i < a.length; i++) {
if (s == a[i]) {
index = i;
System.out.println("能找到这个数,它的下标为:" + index);
count++;
}
}
if (count==0){
System.out.println("没有找到!");
continue;
}
}
}
}