【Java代码习题练习】

Java代码练习

1. 判断素数

知识点:素数是只能被1和本身整除的数,如1、2、3、5......
代码实现方面:如果我们在控制台上输入该变量的话,我们需要导入Scanner包,同时定义一个变量x接收scanner。
最后通过循环,如果变量i能被x取余为0(即x/i=0),说明该值不是素数,反之则为素数。
在循环中,我们选择除数为2为基点,原因是当 i = 1 时,任何数都可以整除。但是这样做会造成 x = 1 时发生错误。因此,
我们在循环过后使用if语句设定判断条件,如果 i == x,说明这个数只能被本体整除,我们可以认为它是素数。

代码如下:

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        int i = 2;
        for ( i = 2;i<x;i++) {
            if (x % i == 0) {
                System.out.println("这不是素数");
                break;
            }
        }
        if (i == x) {
            System.out.println("这是素数");
        }

    }

2.打印1-100之间的素数

在本题中,我使用的是双重嵌套循环进行解题。定义局部变量 i 和 j,与第一题同理。

代码如下:

public static void main(String[] args) {
        int j = 1;
        for (int i = 2;i<=100;i++) {
            for ( j = 2;j<i;j++) {
                if (i % j == 0) {
                   break;
                }
            }
            if (j==i) {
                System.out.println(i);
            }
        }
    }

3.输出 1000 - 2000 之间所有的闰年

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。

在代码中,我们使用逻辑运算符进行求解。
代码如下:

 public static void main(String[] args) {
        int i = 1000;
        for (;i<=2000;i++) {
            if ((i % 400 == 0) || (i % 4 == 0 && i % 100 != 0)) {
                System.out.println(i);
            }
        }
    }

4.1到 100 的所有整数中出现多少个数字9

从1-100整数中,数字9包含个位数上的9和十位数上的9.
通过循环和逻辑运算,变量 i % 10 如果为9 则个位数上为9。变量 i / 10 如果结果为9,则十位数上值为9.

代码如下:

 public static void main4(String[] args) {
        int i = 1;
        int count = 0;
        for (i = 1;i<=100;i++) {
            if (i % 10 == 9) {
                count++;
            }
            if (i / 10 == 9) {
                count++;
            }
        }
        System.out.println(count);
    }

源码:https://gitee.com/Bao__man/java-se/tree/master/Work3
写在结尾:如果存在问题,请在评论区回复或私信,感谢指教。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值