减肥活动
通过键盘录入的方式输入星期数(1-7的整数),显示今天的减肥活动,使用switch和if两种判断语句分别完成。
周一:跑步
周二:游泳
周三:慢走
周四:动感单车
周五:拳击
周六:爬山
周日:好好吃一顿
这道题难度不高,和当初学if语句switch语句时的练习差不多。if语句几乎经常用所以没有什么遗忘的,但是这期间几乎没有再接触过switch语句,所以小编忘记了**break**和**default**,纯纯失误 **if语句**
//导包
import java.util.Scanner;
public class subject01 {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//录入数据
System.out.println("请输入星期数(1-7的整数)");
int day = sc.nextInt();
//if语句
if (day == 1) {
System.out.println("今天的减肥活动:跑步");
} else if (day == 2) {
System.out.println("今天的减肥活动:游泳");
} else if (day == 3) {
System.out.println("今天的减肥活动:慢走");
} else if (day == 4) {
System.out.println("今天的减肥活动:动感单车");
} else if (day == 5) {
System.out.println("今天的减肥活动:拳击");
} else if (day == 6) {
System.out.println("今天的减肥活动:爬山");
} else if (day == 7) {
System.out.println("今天的减肥活动:好好吃一顿");
} else {
System.out.println("你输入的信息有误");
}
}
}
switch语句
//导包
import java.util.Scanner;
public class subject01 {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//录入数据
System.out.println("请输入星期数(1-7的整数)");
int day = sc.nextInt();
//switch语句
switch(day) {
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之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。
这道题也很常见,基础的嵌套,for循环里嵌套一个if语句,但是小编在这道题if语句的判断条件里,把 && 和 || 搞混了,当时只是想着全部三个条件,所以用了 && ,但是题意是让我们把符合(个位是7,十位是7,7的倍数)这三个条件任意一个条件的数字选出来,所以要用 ||
public class subject02 {
public static void main(String[] args) {
for(int i = 1; i<101; i++) {
if(i%10 == 7 || i/10%10 == 7 || i%7 == 0) {
System.out.println(i);
}
}
}
}
不死神兔
有一个很有名的数学逻辑题叫做不死神兔问题。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
这道题目犯的错是开始的时候没有把前面两个 已知的数组元素写出来 ,最后输出的时候还是写的arr[x],但是只是输出第20个月的兔子对数,所以 要输出的是arr[19]
public class subject03 {
public static void main(String[] args) {
int[] arr = new int[20];
arr[0] = 1;
arr[1] = 1;
for(int x = 2; x<=arr.length-1; x++) {
arr[x] = arr[x-1] + arr[x-2];
}
System.out.println("第20个月的兔子对数为:" + arr[19]);
}
}
百钱百鸡
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
这道题目出错在最后的判断条件那里百钱的等式只写了一个 __=__ ,所以最后运行的时候,显示出错一个是boolean类型,一个是int类型
public class subject04 {
public static void main(String[] args) {
for(int x = 0; x<=20; x++) {
for(int y = 0; y<=33; y++) {
int z = 100-x-y;
if(z%3==0 && 5*x+3*y+z/3==100) {
System.out.println("鸡翁:" + x + "鸡母:" + y + "鸡雏:" + z);
}
}
}
}
}
元素求和
有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,
要求是:求和的元素个位和十位都不能是7,并且只能是偶数。
这道题目出错的点和逢七过一样, &&和||脑子里面混乱了
public class subject05 {
public static void main(String[] args) {
int[] arr = {68,27,95,88,171,996,51,210};
int sum = 0;
for(int x = 0; x<arr.length; x++) {
if(arr[x]%2 == 0 && arr[x]%10 != 7 && arr[x]/10%10 != 7) {
sum += arr[x];
}
}
System.out.println("和为:" + sum);
}
}
比较数组
设计一个方法,用于比较两个数组的内容是否相同。
这道题目犯的错误主要是在于,对于方法的调用的不熟悉,知识在脑海中残缺不全,还有就是比较数组内容是否相同,第一思路没有思考到要比较两个方面:元素个数,元素值
public class subject06 {
public static void main(String[] args) {
int[] arr = {12,3,23,4,34,6};
int[] brr = {12,3,23,4,34,6};
boolean flag = compare(arr,brr);
System.out.println(flag);
}
//两个明确
//返回值类型boolean
//参数int
public static boolean compare(int[] arr,int[] brr) {
if(arr.length!=brr.length) {
return false;
}
for(int x = 0; x<arr.length; x++) {
for(int y = 0; y<brr.length; y++) {
if(arr[x]!=brr[x]) {
return false;
}
}
}
return true;
}
}
总结:
1:知识点要一直循环回忆记忆,不然就会像我一样😥
2:写代码的时候要认认真真的会想起要用到的式子,不要丢三落四😩
3:看到题目要多思考有关信息,看有无遗漏或者会出现的可能🤔