美文网首页
累并快乐的十二周

累并快乐的十二周

作者: Ben000 | 来源:发表于2018-11-24 10:49 被阅读0次

      光阴易逝,时光荏苒,不知不觉中我的大学生活已经过去了两个多月,来到了第十二周,在这一周的生活中,我成长了很多,从周一开始,我开始了java集合的学习,这一周我了解了java集合的大框,以及它和泛型的关系,在学习java集合的过程中是,我还加强了自己对于java面向对象的理解。

    我的练习如下:
      定义一个银行账户类account,其包含成员如下。
      成员变量:
        户名
        余额
      构造方法:
        构造方法1,输出“创建账户”;
        构造方法2,调用构造方法1,然后通过形式参数为成员变量户名、余额初始化。
      成员方法:
      存款功能save,存入mon元到账户中;
    取款功能retrive,从账户中取款mon元,如果余额不足,输出“余额不足”,否则,修改余额,输出取款**元。
    显示余额show,按下列样式显示。
      账户: 1111111111
      余额:****元

    import java.util.Scanner;
    class account {
        private String name;
        private String password;
        double balance;
        public account() {
            System.out.println("创建账户:");
        }
        public account(String name,double balance,String password) {
            this();
            this.name=name;
            this.balance=balance;
            this.password=password;
            System.out.println(name);
        }
        double  save(double money1) {
            System.out.println("存款:"+money1+"元");
            this.balance=balance+money1;
            return balance;
        }
        boolean retrive( double money2) {
            if(balance<money2) {
                System.out.println("余额不足,请重新输入取款额度:");
                return false;
            }else {
                this.balance=balance-money2;
                System.out.println("取款"+money2+"元");
                return true;
            }
        }
        public void show() {
            System.out.println("账户:"+name+"\n"+"密码:"+password+"\n"+"余额:"+balance);
        }
        public boolean login(String name,String password) {
            if(name.equals("shenyan") && password.equals("12345")) {
                System.out.println("登录成功");
                return true;
            }
            return false;
        }
    }
    public class Homework1{
        public  static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入你的账户名:");
            String name = scan.next();
            System.out.println("请输入你的密码:");
            String password=scan.next();
            account ac=new account(name,20000,password);
            while(!ac.login(name, password)){
                System.out.println("用户名或密码错误,请重新输入账号:");
                name=scan.next();
                System.out.println("用户名或密码错误,请重新输入密码:");
                password=scan.next();
            }
            System.out.println("请输入存款额度:");
            double money1 = scan.nextDouble();
            System.out.println("请输入取款额度:");
            double money2 = scan.nextDouble();
            ac.save(money1);
            while(!ac.retrive(money2)) {
                money2 = scan.nextDouble();
            }
            ac.show();
        }
    }
    

    定义一个教师类,包含姓名、性别、职称、年龄、基本工资
    定义两个构造方法:
      (1) 采用姓名、性别、年龄作为参数
      (2) 将姓名、性别、职称、年龄、基本工资作为参数进行初始化,
    普通方法:
      (1) 输出教师的姓名、年龄、职称
      (2) 输出教师的平均基本工资
      (3) 输出教师的平均年龄

    class Teachers{
        String name,sex,position;
        int age;
        double salary;
        public Teachers(){ }
        public Teachers(String name,String sex,int age) {
            this.name=name;
            this.sex=sex;
            this.age=age;
        }
        public Teachers(String name,String sex,int age,String position,double salary){
            this(name,sex,age);
            this.position=position;
            this.salary=salary;
        }
        public  void printname(Teachers...teachers) {
            for(int a=0;a<teachers.length;a++) {
                System.out.println("姓名:"+teachers[a].name);
            }
        }
        public  void printage(Teachers...teachers) {
            int sum=0;
            for(int a=0;a<teachers.length;a++) {
                sum += teachers[a].age;
            }  System.out.println("平均年龄:"+sum/teachers.length);
        }
        public  void printsalary(Teachers...teachers) {
            int sum=0;
            for(int a=0;a<teachers.length;a++) {
                sum += teachers[a].salary;
                System.out.println("平均工资"+sum/teachers.length);
            }
        }
    }
    public class homework02 {
        public static void main(String[] args) {
            Teachers tea1=new Teachers("梅兹1","女",25,"语文老师",7500);
            Teachers tea2=new Teachers("梅兹2","女",28,"语文老师",7000);
            Teachers tea3=new Teachers("梅兹3","女",29,"语文老师",6000);
            new Teachers().printname(tea1,tea2,tea3);
            new Teachers().printage(tea1,tea2,tea3);
            new Teachers().printsalary(tea1,tea2,tea3);
        }
    }
    

      在复习面向对象的基础上,我又用暴力破解的方法研究了发现杯考试第二题,

    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int N=sc.nextInt();
            int k=sc.nextInt();
            boolean b=true;
            int[] a=new int[N];
            for(int i=(int)Math.pow(10, N-1);i<(int)Math.pow(10, N)-1;i++) {
                for(int m=0;m<N;m++) {
                    a[m]=String.valueOf(i).toCharArray()[m]-'0';
                }
                for(int w=0;w<a.length;w++) {
                    if(a[w]>k) {
                        b=false;
                        break;
                    }
                    if(w!=0&&w!=a.length-1) {
                        if((a[w]*a[w+1])>k&&(a[w]*a[w-1])>k) {
                            b=false;
                            break;
                        }
                    }
                    else if(w==0) {
                        if((a[w]*a[w+1])>k){
                            b=false;
                            break;
                        }
                    }
                    else if(w==a.length-1) {
                        if((a[w]*a[w-1])>k) {
                            b=false;
                            break;
                        }
                    }
                }
                if(b) {
                    System.out.println(i);
                }
                b=true;
            }
        }
    }
    

      但该程序虽然能够达到目的,但仍有较大的局限性,在蓝桥杯系统上运行会超出运行时间。

      周五的时候我又在形式与政策课上给同学们讲解了2018年第五届乌镇世界互联网大会,使同学们了解了更多关于互联网方面的新发展。
      这一周,虽然很忙,但收获颇多,对Java面向对象的思想的理解有了提高,对java的算法也有了更深层次的理解,在以后的过程中,我定更加努力,去创造自己更美好的明天!!!

    相关文章

      网友评论

          本文标题:累并快乐的十二周

          本文链接:https://www.haomeiwen.com/subject/qwueqqtx.html