Java 基础中的基础算法题

33 篇文章 0 订阅
3 篇文章 0 订阅

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 );
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值