博客主页:i新木优子
Java基础系列教程:传送门
♂️寄语:水滴集多成大海,读书集多成学问
欢迎关注点赞收藏⭐留言
作者水平有限,发现错误欢迎留言轰炸
需求:输入星期数,显示今天的减肥计划
package com.company;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week = sc.nextInt();
if (week == 1){
System.out.println("跑步");
} else if (week == 2){
System.out.println("游泳");
} else if (week == 3){
System.out.println("慢走");
} else if (week == 4){
System.out.println("动感单车");
} else if (week == 5){
System.out.println("拳击");
} else if (week == 6){
System.out.println("爬山");
} else if (week == 7){
System.out.println("大吃一顿");
} else {
System.out.println("您输入的星期数有误");
}
}
}
需求:输入星期数,显示今天的减肥计划
package com.company;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week = sc.nextInt();
switch (week) {
case 1:
System.out.println("跑步");
break;
case 2:
System.out.println("游泳");
break;
case 3:
System.out.println("慢走");
break;
case 4:
System.out.println("动感单车");
break;
case 5:
System.out.println("拳击");
break;
case 6:
System.out.println("爬山");
break;
case 7:
System.out.println("大吃一顿");
break;
default:
System.out.println("您输入的星期数有误");
}
}
}
需求:朋友聚会的时候可能会玩一个游戏:逢七过,规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过,为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印1-100之间的满足逢七过规则的数据。这样在玩游戏的时候,就知道那些数要说:过
package com.company;
public class Test03 {
public static void main(String[] args) {
for (int i = 1; i < 101; i++) {
if (i%10 == 7 || i/10%10 == 7 || i%7 == 0){ //个位是7、十位是7、倍数是7
System.out.println(i);
}
}
}
}
需求:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少
找规律:
第一个月:1
第二个月:1
第三个月:2
第四个月:3
第五个月:5
…
规律:
从第三个数据开始,每个数据是前两个数据之和
package com.company;
public class Test04 {
public static void main(String[] args) {
int[] arr = new int[20];
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i-2] + arr[i-1];
/*
arr[2] = arr[0] + arr[1]
arr[3] = arr[1] + arr[2]
...
*/
}
System.out.println("第二十个月兔子的对数为:" + arr[19]);
}
}
需求:我国古代数学家张邱建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏个几何
分析:
假设鸡翁x只,鸡母只,鸡雏z只
则:
x + y + z =100
5x + 3y +z/3 = 100
如果单独看一只鸡则:
0<=x<=20
0<=y<=33
0<=z<=100
package com.company;
public class Test05 {
public static void main(String[] args) {
for (int i = 0; i <= 20; i++) {
for (int j = 0; j <= 33; j++){
int z = 100 - i - j;
if (z%3 == 0 && 5*i + 3*j +z/3 == 100){
System.out.println(i+","+j+","+z);
}
}
}
}
}
需求:有这样一个数组{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和元素个位和十位都不能是7,并且是偶数
package com.company;
public class Test06 {
public static void main(String[] args) {
int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};
int sum = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]%10 != 7 && arr[i]/10%10 !=7 && arr[i]%2 ==0){
sum += arr[i];
}
}
System.out.println("sum:" + sum);
}
}
需求:设计一个方法,用于比较两个数组的内容是否相同
package com.company;
public class Test07 {
public static void main(String[] args) {
int[] arr1 = {11, 22, 33, 44, 55};
int[] arr2 = {11, 22, 33, 44, 55};
boolean flag = compare(arr1, arr2);
System.out.println(flag);
}
public static boolean compare(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) { // 判断长度是否相同
return false;
}
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] != arr2[i]) { // 比较每个元素是否相同
return false;
}
}
return true;
}
}
需求:已知一个数组arr = {19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值
public class Test08 {
public static void main(String[] args) {
int[] arr = {19, 28, 37, 46, 50};
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据:");
int number = sc.nextInt();
int index = getIndex(arr,number);
System.out.println("index:" + index);
}
public static int getIndex(int[] arr, int number){
int index = -1; // 定义一个索引变量,初始值为-1
for (int i = 0; i < arr.length; i++) {
if (number == arr[i]){
index = i;
break;
}
}
return index;
}
}
需求:已知一个数组arr = {19,28,37,46,50};用程序实现把数组中的元素值交换
交换后的数组arr = {50,46,37,28,19};并在控制台输出交换后的数组元素
package com.company;
public class Test09 {
public static void main(String[] args) {
int[] arr = {19, 28, 37, 46, 50};
//调用反转数组的方法
reverse(arr);
//调用输出数组方法
printArray(arr);
}
//反转数组
public static void reverse(int[] arr) {
for (int start = 0, end = arr.length - 1; start <= end; start++, end--) {
//交换变量
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
//输出数组
public static void printArray(int[] arr) {
System.out.print("{");
//遍历数组,进行输出
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i]);
} else {
System.out.print(arr[i] + ",");
}
}
System.out.print("}");
}
}
需求:在编程竞赛中,有六个评委为参赛选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分的4个评委的平均值(不考虑小数)
package com.company;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
int[] arr = new int[6];
//调用评委打分方法
score(arr);
//获取最大值方法
int max = getMax(arr);
//获取最小值方法
int min = getMin(arr);
//数组元素求和方法
int sum = getSum(arr);
//求平均值
int avg = (sum - max - min) / (arr.length - 2);
System.out.println("选手的最终得分是:" + avg);
}
//获取评委打分
public static void score(int[] arr) {
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个评委的分数");
arr[i] = sc.nextInt();
}
}
//获取最大值
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 1; i < arr.length - 1; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
//获取最小值
public static int getMin(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length - 1; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
//数组元素求和
public static int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
}