Java经典练习题_Day03

摘要:
importjava.util.*;/**读入一个整数,表示一个人的年龄。**/publicclassZhengShu1_5{publicstaticvoidmain{System.out.println;Scanners=newScanner;inta=s.nextInt();//如何判断输入的是否是整数?????");}}}3、读入三个整数,输出这三个整数中最大的一个.importjava.util.Scanner;/**读入三个整数,输出这三个整数中最大的一个.*/publicclassMaxOrMin{publicstaticvoidmain{System.out.println;Scanners=newScanner;int[]Arr=newint[2];inti=0;//循环接收输入的数据for{Arr[i]=s.nextInt();}//对数据进行判断ifSystem.out.println;elseifSystem.out.println;elseSystem.out.println;}}4、读入一一个表示年份的整数,判断这一年是否是闰年。importjava.util.*;/*方法1*5、完成一个简单的计算器程序。
一、选择

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 classAgeChoose {
    public static voidmain(String[] args) {
        while(true){
            System.out.println("请输入年龄:");
            Scanner s = newScanner(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 classZhengShu1_5 {
    public static voidmain(String[] args) {
        System.out.println("请输入一个整数:");
        Scanner s = newScanner(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、读入三个整数,输出这三个整数中最大的一个.

importjava.util.Scanner;
/*
 * 读入三个整数,输出这三个整数中最大的一个.
 */
public classMaxOrMin {
    public static voidmain(String[] args) {
        System.out.println("请输入3个整数:");
        Scanner s = newScanner(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 classRunNian {
    public static voidmain(String[] args) {
        System.out.println("请输入一个年份:");
        intAge;
        while(true){
            Scanner s = newScanner(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 classOperate4 {    
    public static voidmain(String[] args) {
        doubleNum_1, Num_2;
        int Operate = 1;
        System.out.println("请输入要运算的整数:");
        Scanner s = newScanner(System.in);
        Num_1 =s.nextDouble();
        Num_2 =s.nextDouble();
        System.out.println(" 1、+
 2、-
 3、*
 4、/
 请输入您的选择:");
        Scanner s2 = newScanner(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 classSwitch {    
    public static voidmain(String[] args) {
        doubleNum_1, Num_2;
        System.out.println("请输入要运算的整数:");
        Scanner s = newScanner(System.in);
        Num_1 =s.nextDouble();
        Num_2 =s.nextDouble();
        System.out.print(" +
 -
 *
 /
 请输入您的选择:");
        Scanner s2 = newScanner(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 classYunFei {
    public static voidmain(String[] args) {
        Scanner s = newScanner(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 classSanWeiShu {
    public static voidmain(String[] args) {
        System.out.println("请输入一个三位数:");
        Scanner s1 = newScanner(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 classSum01 {
    public static voidmain(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 classSum02 {
    public static voidmain(String[] args) {
        inti;
        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 classFactorial {
    public static voidmain(String[] args) {
        System.out.print("请输入一个10以内的数字:");
        Scanner s = newScanner(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 classDivision {
    public static voidmain(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 classBuyChicken {
    public static voidmain(String[] args) {
        intGJ;
        intMJ;
        //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 classMovingBricks {
    public static voidmain(String[] args) {
        intMan;
        intWoman;
        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 classabcd2 {
    public static voidmain(String[] args) {
        intNum, 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 classStar {
    public static voidmain(String[] args) {
        System.out.println("请输入:");
        Scanner s = newScanner(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 classChengFa {
    public static voidmain(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 classClassTest01 {
    public static voidmain(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 classShuiXian {
    public static voidmain(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 classSum02 {
    public static voidmain(String[] args) {
        System.out.print("请输入任意一个整数:");
        Scanner s = newScanner(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 classPrimeNumber {
    public static voidmain(String[] args) {
        System.out.println("请输入一个整数:");
        Scanner s = newScanner(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 classWanShu {
    public static voidmain(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 classPai {
    public static voidmain(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 classFaibonacci {
    public static voidmain(String[] args) {
        System.out.print("请输入一个整数n:");
        Scanner s = newScanner(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 classInt {
    public static voidmain(String[] args) {
        System.out.print("请输入一个int类型的整数:");
        Scanner s = newScanner(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");
    }
}

免责声明:文章转载自《Java经典练习题_Day03》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mac上安装portElastic Search 聚合笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Calendar Provider

英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 关键类 CalendarContract.Calendars CalendarContract.Events CalendarContract.Attendees CalendarContrac...

微信开发(一):用JSAPI做微信支付+微信卡包(代金券)

做微信支付前期准备: 1,服务好开通微信支付。 2,公众账号ID:AppId。 3,公众账号密钥:AppSecret。 4,微信支付密钥:Key。 第一步:获取用户信息并跳转到需要微信支付的页面 public void ProcessRequest (HttpContext context) { var returnUr...

C# 序列化与反序列化之xml通过实现IXmlSerializable进行序列化的解决方案

新建控制台console项目,添加XmlPersonIXmlSerializable类,和AddressIXmlSerializable类(实现IXmlSerializable)以及AddressIXmlSerializable子类USAddressIXmlSerializable 代码如下: using System; using System.Col...

JAVA闭包

一、闭包的定义。   有很多不同的人都对闭包过进行了定义,这里收集了一些。   # 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 -- <<wikipedia>>   # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。-- <<Java编程思想>&...

java实现文件压缩与解压

用java实现文件的压缩与解压是很常见的功能。 我最爱上代码:    1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.List; 4 5 import net.lingala.zip4j.core.ZipFile; 6 import ne...

Delphi 系统[28]关键字和保留字 index、near、far、export、exports、external、name、resident

Delphi 系统[28]关键字和保留字  index、near、far、export、exports、external、name、resident 1、定义: index :用于在属性中标识序号,以便用相同的属性方法(Get,Set)对不同的属性进行操作。index 关键字也用于在属性中指出多个元素。 near :标明函数的调用协定,指出函数可以被本地...