1.逢七跳过
public class HomeWork07_1 {
public static void main(String[] args) {
//朋友聚会的时候可能会玩一个游戏:逢七过。
//规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。
//为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。
//这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。
//1.遍历1-100之间的数据
for (int i = 1; i <= 100; i++) {
//2.判断数字是否满足条件:包含7或者是7的倍数
if (i % 7 == 0 || i % 10 == 7 || i / 10 % 10 == 7)
//打印满足条件的数据
System.out.print(i+" ");
}
}
}
2. 数组元素求和
public class HomeWork07_2 {
public static void main(String[] args) {
//有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,
//要求是:求和的元素个位和十位都不能是7,并且只能是偶数
//1.构建已知数组
int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};
//2.遍历数组,对数据进行筛选:个位数和十位数非7,偶数
int sum = 0;
int length = arr.length;
for (int i = 0; i < length; i++) {
if (arr[i] % 10 != 7 && arr[i] / 10 % 10 != 7 && arr[i] % 2 == 0) {
//3.符合条件的数据进行求和
sum += arr[i];
}
}
//打印求和结果
System.out.println(sum);
}
}
3. 判断两个数组是否相同
public class HomeWork07_3 {
public static void main(String[] args) {
//定义一个方法,用于比较两个数组的内容是否相同
//1.构建四个数组,用来检验数组比较方法
int[] arr1 = {22, 33, 22, 55, 66, 88};
int[] arr2 = {22, 33, 22, 55, 66, 88};
int[] arr3 = {22, 33, 22, 55, 66, 8};
int[] arr4 = {22, 33, 22, 55, 66};
//3.调用方法,并输出结果,ture为内容相同,false不同
//相同时比较
System.out.println(compareArr(arr1,arr2));
//长度相同,内容不同时比较
System.out.println(compareArr(arr1,arr3));
//长度不同时比较
System.out.println(compareArr(arr1,arr4));
}
//2.定义比较两个数组内容是否相同的方法
public static boolean compareArr(int[] arr1, int[] arr2) {
//长度不同时,内容不同
if (arr1.length != arr2.length) return false;
//长度相同时,比较每个相同下标下的数组内容,出现不同内容时返回false
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] != arr2[i]) return false;
}
//除去以上的条件,则认为两个数组内容相同
return true;
}
}
4. 查找元素在数组中出现的索引位置
import java.util.Scanner;
public class HomeWork07_4 {
public static void main(String[] args) {
//已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引。
//并在控制台输出找到的索引值。如果没有查找到,则输出-1
//1.创建已知数组
int[] arr = {19,28,37,46,50};
System.out.println("请输入一个数据,系统将为你查询其索引:");
//2.键入数据获取
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
//3.遍历数组,将获取的数据与数据元素作比较
int length = arr.length;
int index = -1;
for (int i = 0; i < length; i++) {
//4.若有符合的数据,i赋值给下标index
if (arr[i]==num) {
index = i;
}
}
//5.打印下标,并进行提示
System.out.println("其索引为"+index+"(-1表示未查询到数据)");
}
}
5. 数组元素反转
import java.util.Arrays;
public class HomeWork07_5 {
public static void main(String[] args) {
//已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值交换,
//交换后的数组 arr = {50, 46, 37, 28, 19}; 并在控制台输出交换后的数组元素。
//1.定义已知数组
int[] arr = {19, 28, 37, 46, 50};
//6.调用数据反转方法并打印结果
System.out.println(Arrays.toString(reverseArr(arr)));
}
//2.定义翻转数组内容的方法
public static int[] reverseArr(int[] arr) {
//3.定义两个下标用来进行数据的反转控制
int start = 0;
int end = arr.length - 1;
//4.确认需要反转的次数
int times = 0;
if (arr.length % 2 == 0) {
times = arr.length / 2;
} else {
times = (arr.length - 1) / 2;
}
//5.遍历数组并进行数据反转
for (int i = 0; i < times; i++) {
//下标控制数据反转
int tempt = arr[start];
arr[start] = arr[end];
arr[end] = tempt;
//下标进行自增或者自减
start++;
end--;
}
return arr;
}
}
6. 评委打分
import java.util.Scanner;
public class HomeWork07_6 {
public static void main(String[] args) {
//在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
//选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
//1.动态初始化一个数组用于存储评委评分
int[] scores = new int[6];
//2.遍历数组,键入评委评分并赋值
int length = scores.length;
Scanner scanner = new Scanner(System.in);
System.out.println("请各位评委打分:");
for (int i = 0; i < length; i++) {
int score = scanner.nextInt();
scores[i] = score;
}
//6.调用获取最终分数的方法并打印
System.out.println("选手最终分数为:" + getScores(scores));
}
//5.定义获得最终分数的方法
public static int getScores(int[] arr) {
int max = getMax(arr);
int min = getMin(arr);
int length = arr.length;
int sum = 0;
for (int i = 0; i < length; i++) {
if (arr[i] != max && arr[i] != min) sum += arr[i];
}
return sum / 4;
}
//3.定义获得的最高分方法
public static int getMax(int[] arr) {
int max = arr[0];
int length = arr.length;
for (int i = 0; i < length; i++) {
if (arr[i] > max) max = arr[i];
}
return max;
}
//4.定义获得的最低分方法
public static int getMin(int[] arr) {
int min = arr[0];
int length = arr.length;
for (int i = 0; i < length; i++) {
if (arr[i] < min) min = arr[i];
}
return min;
}
}