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
写在结尾:如果存在问题,请在评论区回复或私信,感谢指教。