• Java经典练习题_Day03


    一、选择

     B    D(死循环)    E(switch)    BC   

    二、编程

    1、读入一个整数,表示一个人的年龄。

    如果小于6岁,则输出“儿童”, 6岁到13岁,输出“少儿”;  14岁到18岁,输出“青少年”; 18岁到35岁,输出“青年”; 35岁到50岁,输出“中年”; 50 岁以上输出“中老年”。

    import java.util.*;
    /*
     * 读入一个整数,表示一个人的年龄。
     * 如果小于6岁,则输出“儿童”, 
     * 6岁到13岁,输出“少儿”;  
     * 14岁到18岁,输出“青少年”; 
     * 18岁到35岁,输出“青年”; 
     * 35岁到50岁,输出“中年”; 
     * 50 岁以上输出“中老年”。
     */
    public class AgeChoose {
        public static void main(String[] args) {
            
            while(true){
                System.out.println("请输入年龄:");
                Scanner s = new Scanner(System.in);
                int Age = s.nextInt();
                
                if(Age < 0 ){
                    System.out.println("输入错误!请重新输入!");
                    continue;
                }
                else if(Age >= 0 && Age < 6){   // 如果小于6岁,则输出“儿童”
                    System.out.println("儿童");
                    break;
                }
                else if(Age >= 6 && Age <= 13){ // 6岁到13岁,输出“少儿”
                    System.out.println("少儿");
                    break;
                }
                else if(Age >= 14 && Age < 18){ // 14岁到18岁,输出“青少年”
                    System.out.println("青少儿");
                    break;
                }
                else if(Age >= 18 && Age < 35){ // 18岁到35岁,输出“青年”
                    System.out.println("青年");
                    break;
                }            
                else if(Age >= 35 && Age < 50){ // 35岁到50岁,输出“中年”
                    System.out.println("中年");
                    break;
                }
                else{                            // 50 岁以上输出“中老年”
                    System.out.println("中老年");
                    break;
                }
                                
            }
        }
    }

    2、读入一一个整数,如果是1~5之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。

    import java.util.*;
    //import java.util.regex.*;
    /*
     * 读入一个整数,
     * 如果是1~5之间,则分别输出5个福娃的名字,
     * 否则输出“北京欢迎你”。
     * */
    public class ZhengShu1_5 {
        public static void main(String[] args) {
            System.out.println("请输入一个整数:");
            Scanner s = new Scanner(System.in);
            int a = s.nextInt();
            // 如何判断输入的是否是整数?????
            
            switch(a){
            case 1:System.out.println("贝贝");break;
            case 2:System.out.println("晶晶");break;
            case 3:System.out.println("欢欢");break;
            case 4:System.out.println("莹莹");break;
            case 5:System.out.println("妮妮");break;
            default:System.out.println("北京欢迎你过!");        
            }
        }
    }

    3、读入三个整数,输出这三个整数中最大的一个.

    import java.util.Scanner;
    /*
     * 读入三个整数,输出这三个整数中最大的一个.
     */
    public class MaxOrMin {
        public static void main(String[] args) {
            System.out.println("请输入3个整数:");
            Scanner s = new Scanner(System.in);
            int[] Arr = new int[2];
            int i = 0;
            // 循环接收输入的数据
            for(i = 0; i <= 2; i++){ 
                Arr[i] = s.nextInt();
            }
            // 对数据进行判断
            if(Arr[0] >= Arr[1] && Arr[0] >= Arr[2] )
                System.out.println("最大整数:" + Arr[0]);
            else if(Arr[1] >= Arr[0] && Arr[1] >= Arr[2] )
                System.out.println("最大整数:" + Arr[1]);
            else
                System.out.println("最大整数:" + Arr[2]);
        }
    }

    4、读入一一个表示年份的整数,判断这一年 是否是闰年。如何判断-一个年份是否是闰年:

    1) 如果这个年份能够被4整除,且不能被100 整除,则这一年是闰年。例如,  1996年是闰年,而相应的,  1993年就不是闰年。
    2) 如果这个年份能够被100整除,则这个数必须要能被400整除,才是闰年。例如,2000 年是闰年,  1900年不是闰年。
     
    import java.util.*;
    /*
     *读入一一个表示年份的整数,判断这一年 是否是闰年。如何判断-一个年份是否是闰年:
     *1)如果这个年份能够被4整除,且不能被100 整除,则这一年是闰年。例如,  1996年是闰年,而相应的,  1993年就不是闰年。
     *2)如果这个年份能够被100整除,则这个数必须要能被400整除,才是闰年。例如,2000 年是闰年,  1900年不是闰年。
     */
    
    public class RunNian {
        public static void main(String[] args) {
            System.out.println("请输入一个年份:");
            int Age;
            while(true){
                Scanner s = new Scanner(System.in);
                Age = s.nextInt();
    
                if(Age % 4 == 0 && Age % 100 != 0){ // 被4整除,且不能被100 整除
                    System.out.println(Age + "年是闰年");
                    continue;
                }
                else if(Age % 100 == 0 && Age % 400 == 0){ // 被100整除,且被400整除
                    System.out.println(Age + "年是闰年");
                    continue;
                }
                else
                    System.out.println(Age + "年不是闰年");
            }
        }
    }

    5、完成一一个简单的计算器程序。

    程序要求如下:
      1)读入两个整数
      2)提示用户选择对这两个整数的操作,即输出
       1、+
       2、-
       3、*
       4、/
      请输入您的选择:
      读入用户的选择,输出运算结果。
    import java.util.*;
    /*方法1
     *5、完成一个简单的计算器程序。程序要求如下:
      1)读入两个整数
      2)提示用户选择对这两个整数的操作,即输出
       1、+
       2、-
       3、*
       4、/
      请输入您的选择:
      读入用户的选择,输出运算结果。
     */
    public class Operate4 {    
        public static void main(String[] args) {
            double Num_1, Num_2;
            int Operate = 1;
            System.out.println("请输入要运算的整数:");
            Scanner s = new Scanner(System.in);
            Num_1 = s.nextDouble();
            Num_2 = s.nextDouble();
            
            System.out.println(" 1、+
     2、-
     3、*
     4、/
     请输入您的选择:");
            Scanner s2 = new Scanner(System.in);
            
            Operate = s2.nextInt();
            if(Operate >4 && Operate < 1)
                System.out.println("运算方式选择错误!");
            else{
                switch(Operate){
                case 1:
                    System.out.println(Num_1 + " + " + Num_2 + " = " + (Num_1 + Num_2));break;
                case 2:
                    System.out.println(Num_1 + " - " + Num_2 + " = " + (Num_1 - Num_2));break;
                case 3:
                    System.out.println(Num_1 + " * " + Num_2 + " = " + (Num_1 * Num_2));break;
                case 4:
                    System.out.println(Num_1 + " / " + Num_2 + " = " + (Num_1 / Num_2));break;
           default:System.out.println("符号非法!"); } } } }
    import java.util.*;
    /*方法2
     *5、完成一个简单的计算器程序。程序要求如下:
      1)读入两个整数
      2)提示用户选择对这两个整数的操作,即输出
       1、+
       2、-
       3、*
       4、/
      请输入您的选择:
      读入用户的选择,输出运算结果。
     */
    public class Switch {    
        public static void main(String[] args) {
            double Num_1, Num_2;
            
            System.out.println("请输入要运算的整数:");
            Scanner s = new Scanner(System.in);
            Num_1 = s.nextDouble();
            Num_2 = s.nextDouble();
            
            System.out.print(" +
     -
     *
     /
     请输入您的选择:");
            Scanner s2 = new Scanner(System.in);
            String Operate = s2.nextLine();
    
                switch(Operate){
                case "+":
                    System.out.println(Num_1 + " + " + Num_2 + " = " + (Num_1 + Num_2));break;
                case "-":
                    System.out.println(Num_1 + " - " + Num_2 + " = " + (Num_1 - Num_2));break;
                case "*":
                    System.out.println(Num_1 + " * " + Num_2 + " = " + (Num_1 * Num_2));break;
                case "/":
                    System.out.println(Num_1 + " / " + Num_2 + " = " + (Num_1 / Num_2));break;
            }
        }
    }

    6、 托运计费问题:

    当货物重量小于20公斤的时候,收费5元,
     
    大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,
     
    如果超出100公斤的时候,超出的部分按照每公斤0.15元计算。
      
    读入贷物的重量,输出计算之后货物的运费。

    import java.util.*;
    /*
     *  托运计费问题:
     *  当货物重量小于20公斤的时候,收费5元,
     *  大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,
     *  如果超出100公斤的时候,超出的部分按照每公斤0.15元计算。
     *  读入贷物的重量,输出计算之后货物的运费。
     */
    public class YunFei {
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            System.out.println("请输入:");
            int weight = s.nextInt();
            double price = 0;
            
            if(weight < 0)
                System.out.println("输入不合法");
            else{
                if(weight <= 20){
                    price = weight * 0.35;
                }
                else if(weight >= 20 && weight<= 100){
                    price = weight * 0.35 + (weight - 20) * 0.5; 
                }
                else{
                    price = weight * 0.35 + (weight - 20) * 0.5 + (weight - 100) * 0.8;
                }
            }    
            System.out.println(price);            
        }
    }

    7、读入一个三位数,计算其各位数字之和。例如: 123, 各位数字之和为6

    import java.util.*;
    /*
     * 读入一个三位数,计算其各位数字之和。
     * 例如: 123, 各位数字之和为6
     */
    public class SanWeiShu {
        public static void main(String[] args) {
            System.out.println("请输入一个三位数:");
            Scanner s1 = new Scanner(System.in);
            int Num = s1.nextInt();
            
            if(Num >= 100 && Num <= 999){
                int Num1 = (Num / 100);                       // 获得百位上的数字
                int Num2 = (Num - Num1 * 100) / 10;           // 获得十位上的数字
                int Num3 = Num - ((Num1 * 100) + Num2 * 10);  // 获得个位上的数字
                int Sum = Num1 + Num2 + Num3;                  // 求和
                System.out.println(Num + "各位数字之和为:" + Sum);
            }
            else
                System.out.println("您输入的不是3位数!");
            
        }
    }

    8、计算1+2+3+...+100的和

    /*计算1+2+3+...+100的和*/
    public class Sum01 {
        public static void main(String[] args) {
            int sum = 0;
            for(int i = 1; i <= 100; i++){
                sum += i;
            }
            System.out.println("sum = " + sum);
        }
    }

    9、计算1+3+5+...+99的和

    /*计算1+3+5+...+99的和*/
    public class Sum02 {
        public static void main(String[] args) {
            int i;
            int sum = 0;
            for(i = 1; i <= 100; i++){
                if(i % 2 == 1)
                    sum += i;
            }
            System.out.println("sum = " + sum);
        }
    }

    10.读入一个小于10的整数n,输出它的阶乘n!

    import java.util.*;
    /*读入一个小于10的整数n,输出它的阶乘n!*/
    
    public class Factorial {
        public static void main(String[] args) {
            System.out.print("请输入一个10以内的数字:");
            Scanner s = new Scanner(System.in);
            int n = s.nextInt();
            int sum = 1;
            if(n >10 && n < 0){
                for(int i = n; i > 0; i--){
                    sum *= i;
                }
                System.out.println(sum);
            }
            else
                System.out.println("输入错误!");
        }
    }

    11.求100 以内所有能被3整除但不能被5整除的数字的和。

    /*求100 以内所有能被3整除但不能被5整除的数字的和*/
    
    public class Division {
        public static void main(String[] args) {
            int i = 0;
            int sum = 0;
            for(i = 0; i <= 100; i++){
                if(i % 3 == 0 && i % 5 != 0)
                    sum += i;
            }
            System.out.println("sum = " + sum);
        }
    }

    12.“百钱买百鸡”是我国古代的著 名数学题。

    题目这样描述: 3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文  钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?
     
    /*“百钱买百鸡”是我国古代的著 名数学题。
     * 题目这样描述:
     *  3文钱可以买1只公鸡,
     *  2文钱可以买一只母鸡,
     *  1文钱可以买3只小鸡。
     *  用100文  钱买100只鸡,
     *  那么各有公鸡、母鸡、小鸡多少只?
     */
    
    public class BuyChicken {
        public static void main(String[] args) {
            int GJ;
            int MJ;
            //int XJ = (100 - GJ - MJ);    //GJ + MJ + XJ == 100;            
    
            for(GJ = 0; GJ <= 33; GJ++){
                for(MJ = 0; MJ <= 50; MJ++){
                    if(GJ * 3 + MJ * 2 + (100 - GJ - MJ)/3.0 == 100)
                        System.out.println("公鸡:" + GJ + "    母鸡:" + MJ + "    小鸡:" + (100 - GJ - MJ));
                }
            }        
        }
    }

    13.搬砖问题:

     36块砖,36人搬,男搬4,女搬3,两个小孩拾1砖,要求一次全搬完,问男、女和小孩各若干?
    /*搬砖问题: 
     * 36块砖,36人搬,
     * 男搬4,女搬3,两个小孩拾1砖,
     * 要求一次全搬完,
     * 问男、女和小孩各若干?
     */
    public class MovingBricks {
        public static void main(String[] args) {
            int Man;
            int Woman;
            
            for(Man = 0; Man <= 9; Man++){
                for(Woman = 0; Woman <= 12; Woman++){
                    if(Man * 4 + Woman * 3 + (36 - Man - Woman) / 2 == 36)
                        System.out.println("Man:" + Man + "    Woman:" + Woman + "      Childen:" + (36 - Man - Woman));
                }
            }
        }
    }

    14.编程找出四位整数abcd 中满足下述关系的数: (ab+cd) (ab+cd) =abcd

    /*编程找出四位整数abed 中满足下述关系的数: 
     * (ab+cd) (ab+cd) =abcd
     */
    public class abcd2 {
        public static void main(String[] args) {
    
            int Num, a, b, c, d, ab, cd, abcd;
    
            for(Num = 1000; Num <= 9999; Num++){
    
                a = Num / 1000;                                // 千位
                b = (Num - a * 1000) / 100;                    // 百位
                c = (Num - a * 1000 - b * 100) / 10;           // 十位
                d = (Num - a * 1000 - b * 100 - c * 10);       // 个位
    
                ab = (a * 10 + b);
                cd = (c * 10 + d);
                abcd = (ab + cd) * (ab + cd);
    
                if(abcd == Num)
                    System.out.println(Num);    
            }
    
        }
    }

    15.读入一一个整数n,输出如下图形:

    当输入n=3时,输出:
          ★
       ★★★
    ★★★★★
    当输入n=4时,输出:
            ★
         ★★★
       ★★★★★
    ★★★★★★★
     
     
    import java.util.*;
    /*
    读入一一个整数n,输出如下图形:
    当输入n=3时,输出:
          ★
       ★★★
    ★★★★★
    当输入n=4时,输出:
            ★
         ★★★
       ★★★★★
    ★★★★★★★
    */
    public class Star {
        public static void main(String[] args) {
            System.out.println("请输入:");
            Scanner s = new Scanner(System.in);
            int n = s.nextInt();
            for(int i = 1; i <= n; i++){
                System.out.println(" "); // 换行
                
                for(int w = 1; w <= (n + 1 - i); w++){ // 打印空格
                    System.out.print("    ");
                }
                    
                for(int j = 1; j <= (i*2-1); j++){     // 打印星星
                    System.out.print("★");
                }
                    
            }
        }
    }

    16.输出99 乘法表

    /*输出99 乘法表*/
    public class ChengFa {
        public static void main(String[] args) {
            for(int i = 1; i <= 9; i++) {
                System.out.println(" ");
                for(int j = 1; j <= 9 - i; j++) {
                    System.out.print("    " + i + " * " + j + " = " + i * j);
                }
            }        
        }
    }    
    public class ClassTest01 {
        public static void main(String[] args) {
            for(int i=1; i<=9; i++){
                for(int j=1; j<=i; j++){
                    System.out.print("  " + i + "*" + j + " = " + i*j);
                }
                System.out.println("");
            }
        }
    }

    17.求水仙花数。 

    所谓水仙花数,是指一一个三位数abc,如果满足a3+ b3+c3=abc,则abc是水仙花数。
     
    /*求水仙花数。 
     * 所谓水仙花数,是指一一个三位数abc,
     * 如果满足a3+ b3+c3=abc,则abc是水仙花数。
     */
    public class ShuiXian {
        public static void main(String[] args) {
            int abc = 100;
            
            for(abc = 100; abc <= 999; abc++) {
                int a = abc / 100;
                int b = (abc - a * 100) / 10;
                int c = abc % 10;
                
                if((a *10 + 3 + b * 10 * 3 + c * 10 * 3 ) == abc)
                    System.out.println(abc);
            }
        }
    }

    18.输入一个整数,计算它各位上数字的和。

    注意:是任意位的整数
    import java.util.*;
    /*
     * 输入一个整数,计算它各位上数字的和。
     * (注意:是任意位的整数)
     */
    public class Sum02 {
        public static void main(String[] args) {
            System.out.print("请输入任意一个整数:");
            Scanner s = new Scanner(System.in);
            int sum = 0;
            int t = s.nextInt(); 
            
            while(t!=0){
                sum = sum + t % 10;
                t = t / 10;
            }
            System.out.println("各位数字的和:" + sum);
        }
    }

    19.输入一 整数A,判断它是否质数。

    import java.util.*;
    /*输入一 整数A,判断它是否质数。*/
    public class PrimeNumber {
        public static void main(String[] args) {
            System.out.println("请输入一个整数:");
            Scanner s = new Scanner(System.in);
            int A = s.nextInt();
            
            for(int i = 2; i <= A / 2; i++) {
                if(A / i == 0) {
                    System.out.println("不是质数");
                    break;
                }
                else {
                    System.out.println("是质数");
                    break;
                }
            }
        }
    }

    20.如果一个数等 于其所有因子之和,我们就称这个数为"完数"

    例如6的因子为1,2,3, 6=1+2+3, 6就是一一个完数.请编程打印出1000以内所有的完数
    /*如果一个数等 于其所有因子之和,我们就称这个数为"完数"
     * 例如6的因子为1,2,3, 6=1+2+3, 6就是一一个完数.
     * 请编程打印出1000以内所有的完数*/
    public class WanShu {
        public static void main(String[] args) {
            int i = 1;
            int j = 1;
            for(i = 1; i <= 1000; i++) {
                int sum = 0;
                for(j = 1; j <= i - 1; j++) {
                    if(i % j == 0) {
                        sum += j;
                    }
                }
                if(sum == j)
                System.out.println(sum);
            }
        }
    }

    21.计算圆周率

    中国古代数学家研究出了计算圆周率最简单的办法:PI=4/1-4/3+4/5-4/ 7+4/9-4/11+4/13-4/15+4/17......这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?
     
    /*计算圆周率
     * 中国古代数学家研究出了计算圆周率最简单的办法:
     * PI=4/1-4/3+4/5-4/ 7+4/9-4/11+4/13-4/15+4/17......
     * 这个算式的结果会无限接近于圆周率的值,
     * 我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927之间,
     * 请编程计算,要想得到这样的结果,他要经过多少次加减法运算?*/
    public class Pai {
        public static void main(String[] args) {         
            final double a = 4.0; //表示被除数
            double PI = 0;  //表示圆周率        
            int b = -1;     //表示除数        
            int count = 0;  //加减法次数计数变量
     
            while (PI >= 3.1415927 || PI <= 3.1415926) {
                b +=2;
                PI = PI + a/b;
                count++;
                
                b += 2;
                PI = PI - a/b; 
                count++;
            }
            System.out.println("总共需要经过" + count +"次加减法运算");
        }
    }

    22.faibonacci

    已知: faibonacci ( 费波那契)数列的前几个数分别为0,1, 1,2,3,..... 从第3项开始,每一项都等于前两项的和。读入一一个整数n,编程求出此数列的前n项。
     
    import java.util.*;
    /*已知: faibonacci ( 费波那契)数列的前几个数分别为0,1, 1,2,3,..... 
     * 从第3项开始,每一项都等于前两项的和。
     * 读入一个整数n,编程求出此数列的前n项。*/
    public class Faibonacci {
        public static void main(String[] args) {
            System.out.print("请输入一个整数n:");
            Scanner s = new Scanner(System.in);
            int n = s.nextInt();
            int[] a = new int[n];
            a[0] = 0;
            a[1] = 1;
            System.out.println(a[0] + "
    " + a[1]);
            
            if(n < 2) {
                System.out.println("请输入大于2的整数!");
            }
            else {
                for(int i = 2; i < n; i++) {
                    a[i] = a[i - 1] + a[i - 2];
                    System.out.print(a[i]);
                }
            }
        }
    }

    23.一个int 类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1。

    要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少位为1?
    import java.util.*;
    /*一个int 类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1。
     * 要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少位为1?
     */
    public class Int {
        public static void main(String[] args) {
            System.out.print("请输入一个int类型的整数:");
            Scanner s = new Scanner(System.in);
            int n = s.nextInt();
            int sum = 0;
            int n1 = n;
            
            while(n != 0) {
                sum = sum + n % 2;
                n = n / 2;
            }
            System.out.println(n1 + "的二进制位中总共有" + sum + "位为1");
        }
    }


     
  • 相关阅读:
    Silverlight+WCF 新手实例 象棋 介绍四(三十一)
    python 抓包(转)
    Python字符集编码和文件读写 [转]
    python操作Excel读写使用xlrd(转)
    Wing IDE 中文显示方法
    Python使用win32gui.SetWindowPos置顶窗口(转)
    python url格式解析(转)
    TCP/IP 某些最常见的错误原因码 (errno)列表(转)
    WinPcap过滤串表达式的语法
    python读取注册表值(转)
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9417720.html
Copyright © 2020-2023  润新知