刷题的狂欢-----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();
    }
}

今天,我成为了“潜力新星”,博主会继续努力,感谢大家的支持。
在这里插入图片描述

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码的xiaolang

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值