程序逻辑与算法学习01

Posted 夜色架构师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序逻辑与算法学习01相关的知识,希望对你有一定的参考价值。

首先说一下自己的感受,通过第一道题发现了自己确实基础很水…

说一下自己遇到的问题:

1:再 System.out.println直接进行了result+500,这样的字符串拼接,然后知道要执行计算需要加上括号

2:不太会用循环语句

附上自己写的烂代码:

import java.util.Scanner;

/**
 * @author ${范涛之}
 * @Description
 * @create 2021-10-29 16:42
 */
public class Takeaway {
    public static void main(String[] args) {
        System.out.println("******************************************************");
        System.out.println("*                                                    *\\n");
        System.out.println("*                                                    *\\n");
        System.out.println("*             CSDN外卖骑士薪资系统                      *\\n");
        System.out.println("*                                                    *\\n");
        System.out.println("*                                                    *");
        System.out.println("******************************************************\\n");



        // 定义提成
        double num1 = 0.0;
        double num2 = 1.5;
        double num3 = 2.2;
        double num4 = 3.2;
        double pay = 0;


        // 第一次很麻烦的定义
        String emp1 = "李雷";
        String emp2 = "张伟";
        String emp3 = "钱枫";
        String emp4 = "吴谦";
        String emp5 = "赵男";
        String emp6 = "孙冬";
        String emp7 = "夏岚";
        String emp8 = "胡宇";

        // 后来想起了数组
        String epm[] = {"李雷","张伟","钱枫","吴谦","赵男","孙冬","夏岚","胡宇"};

        //定义底薪
        int  basic = 0;
        Scanner s = new Scanner(System.in);
        System.out.println("请输入外卖小哥姓名:");
        String human = s.nextLine();
        if(human.equals(epm[0])){
            basic = 3000;
        }
        if(human.equals(epm[1])){
            basic = 3000;
        }
        if(human.equals(epm[2])){
            basic = 2500;
        }
        if(human.equals(epm[3])){
            basic = 4000;
        }
        if(human.equals(epm[4])){
            basic = 2500;
        }
        if(human.equals(epm[5])){
            basic = 3000;
        }
        if(human.equals(epm[6])){
            basic = 3500;
        }
        if(human.equals(epm[7])){
            basic = 3500;
        }



        Scanner input = new Scanner(System.in);
        System.out.println("请输入已完成的订单数:");
        int number = input.nextInt();
        if (number>=0&&number<=100){
            pay = basic;
        }
        if (number>=101&&number<=300){
            pay = basic+number*num2;
        }
        if (number>=301&&number<=500){
            pay = basic+number*num3;
        }
        if (number>500){
            pay = basic+number*num4;
        }

        double result= pay+basic;

//        System.out.println("["+human+"]"+"的收入是:"+result);



        // 加入星期因素


        // 如果没有输入日期
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入当前日期:");
        String data = scanner.nextLine();
        if (data == data){
            if (human.equals( epm[0])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(500*3+result+400*2));
            }
            if (human.equals( epm[1])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(400*3+result+400));
            }
            if (human.equals( epm[2])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(500*3+result+400+300));
            }
            if (human.equals( epm[3])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(500*2+result+400+300*2));
            }
            if (human.equals( epm[4])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(500*2+result+400*3));
            }
            if (human.equals( epm[5])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(500*3+result+400));
            }
            if (human.equals( epm[6])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(400*3+result+300));
            }
            if (human.equals( epm[7])){
                System.out.println("["+human+"]"+"一周一共的收入是"+(400+result+400*2+300*2));
            }

        }

        //输入日期以后


        switch (data){
            case "周一":
                // 周一的早班
                if(human.equals(emp1) || human.equals(emp3) || human.equals(emp6)){
                    System.out.println("["+human+"]"+"周一的收入是:"+(pay+500));
                }
                // 周一的中班
                if (human.equals(emp2) || human.equals(emp5) || human.equals(emp7) || human.equals(emp8)){
                    System.out.println("["+human+"]"+"周一的收入是:"+(pay+400));
                }
                // 周一的晚班
                if (human.equals(emp4)){
                    System.out.println("["+human+"]"+"周一的收入是:"+(pay+300));
                }
                // 周一的大夜 :无
                break;
            case "周二":
                // 周二的早班
                if(human.equals(emp3) || human.equals(emp5) || human.equals(emp6)){
                    System.out.println("["+human+"]"+"周二的收入是:"+(pay+500));
                }
                // 周二的中班
                if (human.equals(emp1) || human.equals(emp7)){
                    System.out.println("["+human+"]"+"周二的收入是:"+(pay+400));
                }
                // 周二的晚班:无

                // 周二的大夜:无
                break;
            case "周三":
                // 周三的早班
                if(human.equals(emp1) || human.equals(emp4)|| human.equals(emp6)){
                    System.out.println("["+human+"]"+"周三的收入是:"+(pay+500));
                }
                // 周三的中班
                if(human.equals(emp5) || human.equals(emp7)){
                    System.out.println("["+human+"]"+"周三的收入是:"+(pay+400));
                }
                // 周三的晚班:无

                // 周三的大夜
                if(human.equals(emp2) || human.equals(emp8)){
                    System.out.println("["+human+"]"+"周三的收入是:"+(pay+400));
                }
                break;

            case "周四":
                // 周四的早班
                if(human.equals(emp5) || human.equals(emp6)){
                    System.out.println("["+human+"]"+"周四的收入是:"+(pay+500));
                }
                // 周四的中班
                if(human.equals(emp1) || human.equals(emp7)){
                    System.out.println("["+human+"]"+"周四的收入是:"+(pay+400));
                }
                // 周四的晚班:
                if(human.equals(emp8)){
                    System.out.println("["+human+"]"+"周四的收入是:"+(pay+300));
                }
                // 周四的大夜
                if(human.equals(emp3) || human.equals(emp4)){
                    System.out.println("["+human+"]"+"周四的收入是:"+(pay+400));
                }
                break;

            case "周五":
                // 周五的早班
                if(human.equals(emp1) || human.equals(emp3) || human.equals(emp4)){
                    System.out.println("["+human+"]"+"周五的收入是:"+(pay+500));
                }
                // 周五的中班
                if(human.equals(emp2) || human.equals(emp5) || human.equals(emp8)){
                    System.out.println("["+human+"]"+"周五的收入是:"+(pay+400));
                }
                // 周五的晚班:
                if(human.equals(emp7)){
                    System.out.println("["+human+"]"+"周五的收入是:"+(pay+300));
                }
                // 周五的大夜:无

                break;

            case "周六":
                // 周六的早班 :无

                // 周六的中班
                if(human.equals(emp2)){
                    System.out.println("["+human+"]"+"周六的收入是:"+(pay+400));
                }
                // 周六的晚班
                if(human.equals(emp8)){
                    System.out.println("["+human+"]"+"周六的收入是:"+(pay+300));
                }
                // 周六的大夜
                if(human.equals(emp4) || human.equals(emp6)){
                    System.out.println("["+human+"]"+"周六的收入是:"+(pay+300));
                }
                break;
        }
    }
}

ON java8 第五章控制流:

1:true false 条件表达式:“真” “假”

2:if else

3:while / do-while / for:do while 至少执行一次,while更为常用

4:for循环

插入知识点:

isLowerCase() 方法用于判断指定字符是否为小写字母。

public class Test {

    public static void main(String args[]) {
        System.out.println( Character.isLowerCase('c'));
        System.out.println( Character.isLowerCase('C'));
    }
}


true
false

toCharArray() 方法将字符串转换为字符数组。

public class Test {
    public static void main(String args[]) {
        String Str = new String("www.runoob.com");

        System.out.print("返回值 :" );
        System.out.println( Str.toCharArray() );
    }
}



返回值 :www.runoob.com

5:for-in与语法,在java5中引入了“增强版for循环”来操纵数组与集合,还有很多文档称其为for-each语法,但是为了防止与java8新增的forEach()产生混淆,我们称为for-in循环

for(float x : f) 

插入:

range(10) //0..9 等价于为:[0,1,2,3,4,5,6,7,8,9]
range(5,10) //5..9 等价于为:[5,6,7,8,9]
range(5,20,3) //5..20 step 3 等价于为:[5,8,11,14,17]

编程思想与算法

常用编程思想与算法

[机器学习与scikit-learn-21]:算法-逻辑回归-多项式非线性回归PolynomialFeatures与代码实现

分类算法 之 逻辑回归--理论+案例+代码

算法0x01

机器学习算法面试为什么逻辑回归的损失函数是交叉熵?