本小白犯过的错误--编程基础练习

本小白犯过的错误--编程基础练习

减肥活动

        通过键盘录入的方式输入星期数(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:看到题目要多思考有关信息,看有无遗漏或者会出现的可能🤔

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值