zoukankan      html  css  js  c++  java
  • JAVA基础编程练习题

          

    50JAVA基础编程练习题

    【程序1】

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

    程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

    public class Prog1{

           public static void main(String[] args){

                  int n = 10;

                  System.out.println("第"+n+"个月兔子总数为"+fun(n));

           }

           private static int fun(int n){

                  if(n==1 || n==2)

                     return 1;

                  else

                     return fun(n-1)+fun(n-2);

           }

    }

    【程序2】

    题目:判断101-200之间有多少个素数,并输出所有素数。

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

    public class Prog2{

        public static void main(String[] args){

            int m = 1;

            int n = 1000;

            int count = 0;

            //统计素数个数

            for(int i=m;i<n;i++){

                if(isPrime(i)){

                    count++;

                    System.out.print(i+" ");

                    if(count%10==0){

                        System.out.println();

                    }

                }

            }

            System.out.println();

            System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数");

        }

        //判断素数

        private static boolean isPrime(int n){

            boolean flag = true;

            if(n==1)

              flag = false;

            else{

                for(int i=2;i<=Math.sqrt(n);i++){

                if((n%i)==0 || n==1){

                    flag = false;

                    break;

                }

                 else

                   flag = true;

              }

            }

            return flag;

        }

    }

                                        

                  ···      

    【程序3】

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

    public class Prog3{

        public static void main(String[] args){

            for(int i=100;i<1000;i++){

                if(isLotus(i))

                   System.out.print(i+" ");

            }

            System.out.println();

        }

        //判断水仙花数

        private static boolean isLotus(int lotus){

            int m = 0;

            int n = lotus;

            int sum = 0;

            m = n/100;

            n  -= m*100;

            sum = m*m*m;

            m = n/10;

            n -= m*10;

            sum += m*m*m + n*n*n;

            if(sum==lotus)

                return true;

            else

                return false;

            }

    }

                                      欢迎提出宝贵的意见和思路.....

  • 相关阅读:
    WinCE NAND flash
    正确选择报表工具的十大标准
    从技术岗位走向管理岗位:机会是留给有准备的人
    创业失败的七个原因及解决之道
    技术人员如何参与产品设计讨论:激活那一潭死水
    基于Android Studio搭建hello world工程
    基于Android Studio搭建Android应用开发环境
    JS数组去重的6种算法实现
    八款前端开发人员更轻松的实用在线工具
    海市蜃楼-嘉兴外蒲岛奇遇
  • 原文地址:https://www.cnblogs.com/Sandm4848----/p/7189463.html
Copyright © 2011-2022 走看看