刷题的狂欢-----JAVA每日三练-----第六天

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题的狂欢-----JAVA每日三练-----第六天相关的知识,希望对你有一定的参考价值。

努力刷题,每日三题,题目来源于《Java课后实战训练手册》----清华大学出版社。

第一题
使用递归方法求出斐波那契额数列中任意一位的数字是多少。斐波那契额数列的特征为数列中任何一个数(不包含第一位和第二位数)等于该数字前两位的数字之和,前几位数字为:1、1、2、3、5、8、13、21、34…

public class Fibonacci {
    static int getNumber(int index) {
        if (index == 1 || index == 2) {// 如果是前两位
            return 1;//直接返回1
        }
        //返回目标位置前一位数与前两位数的和
        return getNumber(index - 1) + getNumber(index - 2);
    }

    public static void main(String[] args) {
        System.out.println(getNumber(10));
    }

}

第二题
编写一个登录方法,参数为用户的账号和密码,把所有数据校验的逻辑都封装到方法中,返回校验结果,实现效果如图所示。

import java.util.Scanner;

public class LoginTest {

    static boolean login(String username, String password) {
        return "张三".equals(username) && "123456".equals(password);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String username = null;
        String password = null;
        while (!login(username, password)){
            System.out.println("请输入用户名:");
            username = sc.nextLine();
            System.out.println("请输入密码:");
            password = sc.nextLine();

        } 
        System.out.println("------------");
        System.out.println("登录成功");
        sc.close();
    }

}

第三题
创建老师类和学生类,两个类都实现了问候接口和工作接口,模拟上课的场景,运行效果如图所示。

package xiaolang;
public interface Move {// 创建一个Move接口
    public void work(); // 创建一个抽象方法 work()
    public void talk(); // 创建一个抽象方法talk()
}

package xiaolang;
public class Student implements Move { // 创建一个Student类实现接口Move
    public String name;//定义姓名字段

    public Student(String name) { // 对姓名字段进行初始化
        this.name=name;
    }

    @Override
    public void work() { // 重写work()方法
        System.out.println(name + ":同学开始记笔记");
    }

    @Override
    public void talk() { // 重写talk()方法
        System.out.println(name + ":老师好");
    }
}


package xiaolang;
public class Teacher implements Move { // 创建一个Teacher类实现接口Move
    public String name;//定义姓名字段

    public Teacher(String name) { // 对姓名字段进行初始化
        this.name=name;
    }

    @Override
    public void work() { // 重写work()方法
        System.out.println(name + ":老师开始上课");
    }

    @Override
    public void talk() { // 重写talk()方法
        System.out.println(name + ":同学们好");
    }
}


package xiaolang;
public class Test { // 创建一个Test类
    public static void main(String[] args) {
        Move[] per={new Student("peter"), new Teacher("mike")};
        // 通过相应的对象调用相应的方法实现控制台输出结果
        per[0].talk();
        per[1].talk();
        per[1].work();
        per[0].work();
    }
}

今天,我成为了“潜力新星”,博主会继续努力,感谢大家的支持。

以上是关于刷题的狂欢-----JAVA每日三练-----第六天的主要内容,如果未能解决你的问题,请参考以下文章

刷题的狂欢-----JAVA每日三练-----第十八天

刷题的狂欢-----JAVA每日三练-----第十六天

刷题的狂欢-----JAVA每日三练-----第十五天

刷题的狂欢-----JAVA每日三练-----第七天

刷题的狂欢-----JAVA每日三练-----第八天

刷题的狂欢-----JAVA每日三练-----第十天