今天是学习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 版权协议,转载请附上原文出处链接和本声明。