Java 基础中的基础算法题

1.输入一个数字,判断其是否为水仙花数。

    public static void main(String[] args) {
        //接受控制台输入信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数");
        //获取控制台输入的数字
        int number = scanner.nextInt();
        //取的百位数
        int bai = number / 100;
        //取得十位数
        int shi = (number / 10) % 10;
        //取得个位数
        int ge = number % 10;
        if (Math.pow(bai, 3) + Math.pow(shi, 3) + Math.pow(ge, 3) != number) {
            System.out.println("这个数不是水仙花数");
        } else {
            System.out.println("这个数是水仙花数");
        }
    }

2.输入n:求1+3+5+7+…n的累加和(n为奇数)

  public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想计算的累加和");
        int number = scanner.nextInt();
        int num = getSum(number);
        System.out.println("1--" + number + "累加和为:" + num);
    }

    private static int getSum(int number) {
        if (number == 1) {
            return number;
        }

        return number + getSum(number - 1);
    }
  1. 九九乘法表

    public static void main(String[] args) {
        System.out.println("乘法口诀表");
        for (int i = 0; i < 9; i++) {
            for (int j=1; j<=i ;j++){
                System.out.print(j+"*"+j+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
  1. 输入年份判断是否为闰年
		System.out.println("请输入你要查询的年份");
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();
        Calendar calendar = Calendar.getInstance();
        //设置年份、月份
        calendar.set(year, 2, 1);
        calendar.add(calendar.DATE, -1);
        int day = calendar.get(calendar.DATE);
        if (day == 29) {
            System.out.println("你输入的年" + calendar.get(calendar.YEAR) + "份闰年");
        } else {
            System.out.println("你输入" + calendar.get(calendar.YEAR) + "年份是平年");
        }

5.猜数游戏

      System.out.println("请输入0-100的整数");
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int guess = random.nextInt(100) + 1;
        for (int i = 0; i < 100; i++) {
            int key = scanner.nextInt();
            if (key == guess) {
                System.out.println("恭喜你答对了");
                break;
            }else if (key>guess){
                System.out.println("您猜的数字大了");
            }else {
                System.out.println("您猜的数字小了");
            }
            System.out.println("您还有"+(4-i)+"次机会");
            if (i==5){
                System.out.println("很遗憾 您没机会了 正确的数字为:"+guess);
                break;
            }
        }

6.十进制转换为二进制

  public static void main(String[] args) {
       int a = 123;//定义一个变量并赋给他一个十进制的值
        int remainder;//定义一个变量用于存储余数
        int sum = 0;//定义一个变量用于存放和
        int k = 1;//定义一个变量控制位数

        while(a != 0){

            remainder = a % 2;//对目标数字求余
            a /= 2;//对目标数字求商
            sum = sum + remainder * k;//求和
            k *= 10;//改变位数

        }
        System.out.println("10进制的123转换为2进制结果为:" + sum );
    }

你可能感兴趣的:(笔记,总结,练习,java,算法,开发语言)