学习java随堂练习-20220609

  • Post author:
  • Post category:java


今天是学习Java的第八天

5道练习题



第1题

题目:

1、循环输入近6年某高校的录取分数,求出平均分和最低分

运行结果:

请添加图片描述

代码如下:

/*
 * 循环输入近6年某高校的录取分数,求出平均分和最低分
 * */
import java.util.Scanner;
public class array01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入近6年某高校的录取分数:");
		int[] scores = new int[6];
		
		for(int i=0;i<6;i++) {//循环输入近6年某高校的录取分数
			scores[i] = input.nextInt();
		}
		
		double avgSum = 0;//总分
		double minScore = scores[0];//最低分
		
		for(int j=0; j<6; j++) {
			avgSum+=scores[j];
			if(scores[j] < minScore) {
				minScore = scores[j];
			}
		}
		System.out.println("近6年某高校的录取分数的平均分为"+(avgSum/6));
		System.out.println("近6年某高校的录取分数的最低分为"+minScore);
		
	}

}



第2题

题目:

2、有一个数列:8,4,2,1,23,344,12

(1)循环输出数列的值

(2)逆序(与原数列顺序相反)输出数列的值

(3)求数列中所有数值的和

(4)猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

运行结果:

请添加图片描述

代码如下:

/*
 * 2、有一个数列:8,4,2,1,23,344,12
(1)循环输出数列的值
(2)逆序(与原数列顺序相反)输出数列的值
(3)求数列中所有数值的和
(4)猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
 * */
import java.util.Scanner;
public class array02 {
	public static void main(String[] args) {
		int[] nums = {8,4,2,1,23,344,12};
		
		int len = nums.length;
		System.out.println("数组练习");
		
		//循环输出数列的值
		System.out.println("(1)循环输出数列的值");
		for(int i = 0; i < len; i++) {
			System.out.print(nums[i]+" ");
		}
		System.out.println();
		System.out.println();
		
		
		//逆序(与原数列顺序相反)输出数列的值
		System.out.println("(2)逆序(与原数列顺序相反)输出数列的值");
		for(int j = len-1; j >= 0; j--) {
			System.out.print(nums[j]+" ");
		}
		System.out.println();
		System.out.println();
		
		
		//求数列中所有数值的和
		int sum = 0;
		for(int k = 0; k < len; k++) {
			sum+=nums[k];
		}
		System.out.println("(3)数列中所有数值的和="+sum);
		System.out.println();
		
		
		//猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
		System.out.println("(4)猜数游戏");
		System.out.println("请输入一个数字");
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		boolean flag = false;//false表示没找到  true表示找到了
		for(int m = 0; m < len; m++) {
			if(nums[m]==n) {
				flag = true;
			}
		}
		if(flag) {
			System.out.println("数列中包含此数");
		}else {
			System.out.println("数列中不包含此数");
		}
		
		
	}

}



第3题

题目:

3、一组成绩67,90,-20,105,88,92,请将负分改为0,超过100的置为100,然后输出

运行结果:

请添加图片描述

代码如下:

/*
 * 一组成绩67,90,-20,105,88,92,请将负分改为0,超过100的置为100,然后输出
 * */

public class array03 {
	public static void main(String[] args) {
		int[] nums = {67,90,-20,105,88,92};
		int len = nums.length;
		
		System.out.println("一组成绩67,90,-20,105,88,92,请将负分改为0,超过100的置为100,然后输出");
		System.out.println("------------------------------------------------------");
		System.out.print("输出结果为:");
		for(int i = 0; i < len; i++) {
			if(nums[i] < 0) {//将负分改为0
				nums[i] = 0;
			}else if(nums[i] > 100) {//超过100的置为100
				nums[i] = 100;
			}
			System.out.print(nums[i]+" ");//输出
		}
		
	}
}



第4题

题目:

4、判断数组是否相同

对于两个整数数组,如果长度相同,且每个元素也都相同,我们就认为这两个数组相同。

运行结果:

请添加图片描述

请添加图片描述

代码如下:

/*
 * 4、判断数组是否相同
对于两个整数数组,如果长度相同,且每个元素也都相同,我们就认为这两个数组相同。
 * */
public class array04 {
	public static void main(String[] args) {
		int[] nums1 = {2,8,4,2,1,23,344,12};
		//int[] nums2 = {67,90,-20,105,88,92};//读者可以试试这个数组
		int[] nums2 = {67,90,-20,105,88};
		//int[] nums2 = {2,8,4,2,1,23,344,12};//读者可以试试这个数组
		
		
		int len1 = nums1.length;//计算数组1的长度
		int len2 = nums2.length;//计算数组2的长度
		
		//先显示一下两个数组
		System.out.println("数组1如下:");
		for(int j=0;j<len1;j++) {
			System.out.print(nums1[j]+" ");
		}
		System.out.println();
		System.out.println("---------------------");
		System.out.println("数组2如下:");
		for(int k=0;k<len2;k++) {
			System.out.print(nums2[k]+" ");
		}
		System.out.println();
		System.out.println("---------------------");
		
		
		
		if(len1==len2) {//若两个数组长度相同
			int i;
			for(i = 0; i < len1; i++) {
				if(nums1[i]==nums2[i]) {//依次判断两个数组对应元素是否相同
					
				}else {//不相等则跳出循环
					break;
				}
			}
			/*分析
			 * 运行到这里有这几种情况:
			 * 1.两个数组长度一样,每个元素都一样,出来时i=len1
			 * 2.两个数字长度一样,有元素不相同,出来时i小于len1
			*/
			if(i==len1) {//说明上面那个循环走完了,中途没有跳出
				System.out.println("这两个数组相同");
			}else {
				System.out.println("这两个数组不同");
			}
		}else {//若两个数组长度不同
			System.out.println("这两个数组不同");
		}
		

	}
}



第5题

题目:

5、判断一个数组中是否有4个连续相同的数

运行结果:

请添加图片描述

请添加图片描述

代码如下:

/*
 * 5、判断一个数组中是否有4个连续相同的数
 * */
import java.util.Scanner;
public class array05 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int[] nums = new int[10];
		
		System.out.println("请输入一个数组:");
		for(int i = 0; i < 10; i++) {
			nums[i] = input.nextInt();
		}
		
		int count = 0;//计数器
		for(int j = 1; j < 10; j++) {//j=1,从第二个元素开始,依次和前面的元素比较
			if(nums[j]==nums[j-1]) {
				count++;
				if(count == 3) {//已经有4个连续相同的数了,跳出循环
					break;
				}
			}else {
				count = 0;//若出现中断,count归零,重新开始记数
			}
		}
		if(count == 3) {//count为3时,说明有4个连续相同的数
			System.out.println("这个数组中有4个连续相同的数");
		}else {
			System.out.println("这个数组中没有4个连续相同的数");
		}
		
		
	}
}



版权声明:本文为qq_45015014原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。