Java基础练习四

Java基础练习四


1.洪乞丐干10天,收入是多少?

天朝有一个乞丐姓洪,去天桥要钱
第一天要了1块钱
第二天要了2块钱
第三天要了4块钱
第四天要了8块钱
以此类推

public class Work01 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i < 10; i++) {
            sum += Math.pow(2,i);
        }
        System.out.printf("洪乞丐10天的收入为%d\n",sum);
    }
}

2. 李四跑步

李四每天跑步
第一周周一跑 100 米,周二到周天每天比前一天多 100 米。
往后每周以比前一周周一多 100 米。
请问 李四 n(控制台输入) 天后跑了多少米

import java.util.Scanner;

public class Work02 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int day = input.nextInt();
        int week = day / 7;
        if (day % 7 != 0) {
            week++;
        }
        int sum = 0;
        for (int j = 1; j <= week; j++) {
            for (int i = 1; i <= 7; i++) {
                sum += (i * 100 + (j -1) * 100);
                day--;
                if (day == 0) {
                    break;
                }
            }
        }
        System.out.println(sum);
    }
}

3. 输入一个数字,和位数,判断这个数是否回文数字。(1221 就是回文数字)

  • 方法一
import java.util.Scanner;

public class learn034 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        int count = input.nextInt();
        int sum = 0;
        int num1 = num;
        for (int i = 0; i < count; i++) {
            int last = num % 10;
            sum = sum * 10 + last;
            num /= 10;
        }
        if (sum == num1) {
            System.out.println("合适");
        } else {
            System.out.println("不是回文数");
        }
    }
}
  • 方法二
import java.util.Scanner;

public class Work03 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String str = input.next();
        String reversedStr = reverseString(str);
        if (reversedStr.equals(str)) {
//            System.out.println(str.length());
            System.out.printf("%s是回文数\n",str);
        } else {
            System.out.printf("%s不是回文数\n",str);
        }
    }
    // 字符串翻转
    public static String reverseString(String str) {
        StringBuilder sb = new StringBuilder(str);
        sb.reverse();
        return sb.toString();
    }
}

4. 一个循环,打印输出一个由字符构成的正方形图案,其中边长由用户输入确定。要求字符按照以下顺序循环使用:‘#’,‘@’,‘*’。例如,当边长为 5 时,输出如下:

# @ @ @ #
@ * * * @
@ * * * @
@ * * * @
# @ @ @ #

import java.util.Scanner;

public class Work04 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入正方形的边长:");
        int num = input.nextInt();
        for (int i = 1; i <= num; i++) {
            if (i == 1 || i == num) {
                for (int j = 1; j <= num; j++) {
                    if (j == 1 || j == num) {
                        System.out.print("# ");
                    } else {
                        System.out.print("@ ");
                    }
                }
                System.out.println();
            } else {
                for (int j = 1; j <= num; j++) {
                    if (j == 1 || j == num) {
                        System.out.print("@ ");
                    } else {
                        System.out.print("* ");
                    }
                }
                System.out.println();
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值