zoukankan      html  css  js  c++  java
  • JAVA基础第二组(5道题)

    6.【程序6】
    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
           1.程序分析:利用辗除法。

    package com.niit.homework1;
    
    import java.util.Scanner;
    
    /**
     * @author: Annie
     * @date:2016年5月20日
     * @description:[程序6]输入两个正整数m和n,求其最大公约数和最小公倍数。 
     */
    public class CommonFactor {
    
        /**
         * @param numMin最小公倍数
         * @param numMax最大公因数
         */
        public static void main(String[] args) {
            Scanner reader = new Scanner(System.in);
            String ans = null;
            do{
                
                System.out.println("请输入两个数:number1,number2(number1>=number2)");
                int number1 = reader.nextInt();
                int number2 =reader.nextInt();
                if(number1 < number2){
                    System.out.println("输入的顺序错误,是否重新输入:(y/n)");
                    ans = reader.next();
                }else{
                    int numMax = printCommon(number1,number2);    
                    int numMin = number1*number2/numMax;
                    System.out.println("最大公因数是:"+numMax+"
    最小公倍数是:"+numMin);
                    return;
                }
            }while("y".equals(ans));
    
        }
    
        /**
         * @param number1 除数
         * @param number2 被除数(之后有作为被除数)
         * @param number3作为余数
         * @param number4作为商(之后作为除数)
         */
        public static int printCommon(int number1, int number2) {
            int number3,number4;
            do{
             number3  = number1%number2;
             number4 = number1/number2;
                number1 = number2;
                number2 = number4;    
                
            }while(number3!=0);
            return number4;
        }
        
        
    
    }

    7.【程序7】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
           1.程序分析:利用while语句,条件为输入的字符不为' '.

    package com.niit.homework1;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * @author: Annie
     * @date:2016年5月23日
     * @description:【程序7】 
                    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。     
     */
    public class CalculateNum {
    
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("请输入一行文本:");
            String str = br.readLine();
            int countNum = 0;//统计数字的个数
            int countChar = 0;//统计英文字母的个数
            int countSpace = 0;//统计空格的个数
            int countOthers = 0;//统计其它字符的个数
            for (int i = 0; i < str.length(); i++) {
                char c = str.charAt(i);//返回i索引下的字符
                if (c >= '0' && (int) c <= '9') {
                    countNum++;
                } else if ((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z')) {
                    countChar++;
                } else if (c == ' ') {
                    countSpace++;
                } else{
                    countOthers++;
                }
            }
            System.out.println("数字个数:"+countNum);
            System.out.println("英文字母个数:"+countChar);
            System.out.println("空格个数:"+countSpace);
            System.out.println("其他字符个数:"+countOthers);
        }
    }

    8.【程序8】
    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
           几个数相加有键盘控制。
           1.程序分析:关键是计算出每一项的值。

    package com.niit.homework1;
    
    import java.util.Scanner;
    
    /**
     * @author: Annie
     * @date:2016年5月20日
     * @description:【程序8】求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
     *              几个数相加有键盘控制。 
                    
     */
    public class Sum {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            Scanner reader = new Scanner(System.in);
            System.out.println("请输入要先加的数和相加的次数(number1,number2)");
             int number1 = reader.nextInt();
             int number2 = reader.nextInt();
             Sum s = new Sum();
            System.out.println(s.printSum(number1,number2)); 
        }
    
        /**
         * @param number1代表相加的数
         * @param number2代表先加的个数
         */
        private int printSum(int number1, int number2) {
            int[] arr = new int [number2];
            int sum =0;
            if(number2 ==1 ){
                return sum = number1;
            }else{
                for (int i = 1; i < number2; i++) {
                    arr[0]=number1;
                    arr[i]=arr[i-1]*10+arr[0];
                    System.out.println(arr[i]);
                    sum +=arr[i];
                    
                }
                return sum+number1;
            }
        }
    
    }

    9.【程序9】
    题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
            数。

    10.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
                 少米?第10次反弹多高?

    package com.niit.homework1;
    
    /**
     * @author: Annie
     * @date:2016年5月20日
     * @description:【10】.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
                                                  少米?第10次反弹多高? 
    
     */
    public class FallBall {
        public static void main(String[] args) {
             FallBall fb = new FallBall();
             fb.printcount(100);
    
        }
    
        /**
         * @param i代表100米高空
         * @param count代表每次反弹后的高度是原来的一半
         * @param sum 代表总体经过的路程
         */
        private void printcount(double i) {
            double count=i,sum = 0;
            for (int j = 0; j <10; j++) {
                count = count/2;
                sum = sum +count;
            }
            sum = sum +i;
            System.out.println("球经过10次的反弹后,共经过了"+sum+"米的路程
    "+"第十次反弹的高度是:"+count);
        }
    
    }
  • 相关阅读:
    美化的滚动条
    网站系统开发参考网址
    正则表达式获取URL参数
    类实例 及 实例化对象 对象引用
    C# 静态方法 静态属性 调用静态方法
    C# 静态方法调用非静态方法
    winform 窗体间传值
    从数据库中读出数据并输出
    数据库链接字符串
    DbHelper
  • 原文地址:https://www.cnblogs.com/wangmingxia/p/5520716.html
Copyright © 2011-2022 走看看