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

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

经验分享 程序员 微信小程序 职场和发展