JAVA基础训练题2

文章介绍了Java编程中的类和方法应用,包括求一组数的最大值和和,以及判断素数和解决猴子爬楼梯问题的代码示例。通过实例展示了类间函数调用和逻辑处理。
摘要由CSDN通过智能技术生成

1、定义一个类,该类只有一个main主函数,在主函数内采用Scanner输入一个整数n,然后输入n个浮点数,求出其中最大的数,同时求输入n个数的和,并输出。

思路:使用Scanner类输入n,然后采用循环认为输入的第一个数为最大,存在max变量中,逐个输入并与max比较,如果比max大,更改max。求和则定义sum=0,逐个相加即可。

public class zuidazhi {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner sc=new Scanner(System.in);
        int i,n;
        float first,next,max,min,sum=0;
        n=sc.nextInt();
        System.out.println("请输入第一个浮点数:");
        first=max=sc.nextFloat();
        sum=first;
        for(i=2;i<=n;i++) {
            System.out.println("请输入下一个浮点数:");
            next = sc.nextFloat();

            sum = sum + next;
            if (max < next) {
                max = next;
            }
        }
            System.out.println("最大值为"+max);
        }

    }

运行结果:

2、定义一个类,该类中有两个方法,第一个方法为判断一个数是否为素数,如果是则返回true,否则返回false,第二个方法,使用第一个方法求出m到n之间的所有素数,在定义一个主类,在主函数内输入两个数,验证第一个类中定义的求出这两个数之间的所有素数。

思路:第一个类框架

class first{

       boolean prime(int n){//该方法为判断n是否为素数}

       void  allprime(int m,int n){//利用前一个方法求出 m到n之间的所有素数}

}

第二个类框架:

class second{

public static void main(String args[])

{ 使用Scanner输入一个数,采用前一个类的第一方法判断输入的数是否是素数,在输入两个数,采用前一个类的第二个方法,求出这两个数之间的所有素数

}

该题目的主要目的在于理解类内的函数可以自由调用,类间函数要生成对象调用

class sushu {
    boolean prime(int n) {
        if (n <= 3) {
            return n > 1;
        }
        for (int i = 2; i <= Math.sqrt(n); i++) {
            if (n % i == 0)
                return false;
        }
        return true;
    }

    void allprime(int m, int n) {
        int i;
        for (i = m; i <= n; i++) {
            if (prime(i))
                System.out.println(i);
        }

    }

        public static void main(String[] args) {
            int a, m, n;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个数,判断是否为素数");
            a = sc.nextInt();
            text.sushu s = new text.sushu();
            if (s.prime(a)) {
                System.out.println(a + "是素数");
            } else {
                System.out.println(a + "不是素数");
            }
            System.out.println("请输入两个数,输出该范围的素数:");
            System.out.println("请输入一个较小的数");
            m = sc.nextInt();
            System.out.println("请输入一个较大的数");
            n = sc.nextInt();
            s.allprime(m, n);
        }
    }

结果如下

景山动物园猴山有30步楼梯,一直无聊的猴子在做一个实验,用1步或者3步爬猴山,次序无关,问一共有几种爬法,该猴子累的精疲力尽,也没有统计结果,请你帮帮忙。

public class Monkey {
    public static void main(String[] args) {
        int a1=1,a2=1,a3=2,a4;
        a4=a1+a3;
        for(int i=5;i<=30;i++){
            a1=a2;
            a2=a3;
            a3=a4;
            a4=a1+a3;
        }
        System.out.println("一共有"+a4+"种爬法");
    }
}

第二种解法如下:

class Monkey2{
    public static void main(String[] args) {
        int a1=1,a2=2,a3=4,a4;
        a4=a1+a2+a3;
        for(int i=5;i<=30;i++){
            a1=a2;
            a2=a3;
            a3=a4;
            a4=a1+a2+a3;
        }
        System.out.println("一共有"+a4+"种爬法");
    }
}

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值