今天最后的任务是完成一部分题目来复习之前学过的内容,冲冲冲!!
这种分支类的最先想到switch。
package hELLO;
import java.util.Scanner;
public class JF {
public static void main(String[] args) {
System.out.println("请输入想查询的日期为星期几,例:1,2,3..7");
Scanner sc = new Scanner(System.in);
int day = sc.nextInt();
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;
}
}
}
2.
**需求:朋友聚会的时候可能会玩一个游戏:逢七过。规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。**
不用考虑,直接for循环。
```java
package hELLO;
public class shuqi {
public static void main(String[] args) {
for(int i=1; i<=100; i++){
if (i%10==7){
System.out.println(i);
}else{
if (i/10%10==7){
System.out.println(i);
}else{
if (i%7==0){
System.out.println(i);
}
}
}
}
System.out.println("以上为在该游戏中应该喊过的数字");
}
}
3.
**需求:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问第十二个月的兔子对数为多少?**
```java
package hELLO;
public class tz {
public static void main(String[] args) {
int[] arr = new int[12];
arr[0] = 1;
arr[1] = 1;
for(int i=2; i<=11; i++){
arr[i] = arr[i-1] + arr[i-2];
}
System.out.print("第十二个月的兔子对数为:");
System.out.println(arr[11]);
}
}
4.
**需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?**
```java
package hELLO;
public class jsjh {
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,并且只能是偶数
package hELLO;
public class qh {
public static void main(String[] args) {
int[] arr = new int[]{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);
}
}
出错点:length代表的是数组的长度,所以应该用<而不是<=。
需求:设计一个方法,用于比较两个数组的内容是否相同
package hELLO;
public class same {
public static void main(String[] args) {
int[] arr = new int[]{11, 22, 33, 44, 55};
int[] arr2 = new int[]{11, 22, 33, 44, 60};
boolean x = Same(arr,arr2);
if(x != false){
System.out.println("这两个数组是相同的");
}else{
System.out.println("这两个数组不相同");
}
}
public static boolean Same(int[] arr, int[] arr2) {
if(arr.length != arr2.length){
return false;
}
for(int i=0; i<arr.length; i++){
if(arr[i] != arr2[i]){
return false;
}
}
return true;
}
}
这里需要注意到return的作用是跳出当前函数,从被调函数跳到主调函数,并可以在后面返回一个值。