Просмотр исходного кода

feat: 完成 day04 循环结构 5 道练习题

Demo05 — 输出斐波那契数列前10项
Demo06 — 判断素数(17)
Demo07 — 数列求和 1 - 1/2 + 1/3 - ... 前10项
Demo08 — 判断回文数(12321)
Demo09 — 计算 1!+2!+...+10!(原 Demo10,从 day03 移至 day04)
WanJL 4 дней назад
Родитель
Сommit
c6fdf1c3c8

+ 15 - 2
授课代码/java-prep-bootcamp/src/com/lovecoding/day04/Demo05.java

@@ -2,11 +2,24 @@ package com.lovecoding.day04;
 
 
 /**
- * @title Demo05
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Demo05
+ * @description 输出斐波那契数列前10项
+ * 斐波那契数列:第1项为0,第2项为1,从第3项开始每项等于前两项之和。 使用循环输出斐波那契数列的前10项,每个数占一行。
  * @create 2026/7/10
  */
 public class Demo05 {
+    public static void main(String[] args) {
+        int a=0,b=1;    //前两项
+        System.out.println(a);  //输出第1项
+        System.out.println(b);  //输出第2项
+        for (int i = 3; i <=10 ; i++) {
+            //第3项开始每项等于前两项之和
+            int c=a+b;  //当前项 = 前两项之和
+            System.out.println(c);  //输出当前项
+            a=b;    //把b的值前移给a
+            b=c;    //把c的值前移被b
+        }
+    }
 }

+ 15 - 2
授课代码/java-prep-bootcamp/src/com/lovecoding/day04/Demo06.java

@@ -2,11 +2,24 @@ package com.lovecoding.day04;
 
 
 /**
- * @title Demo06
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Demo06
+ * @description 判断素数
+ * 给定整数 17,使用循环和分支语句判断它是否为素数。素数定义为大于1的自然数中,除了1和它本身外不再有其他因数。 是素数输出 yes,不是输出 no。
  * @create 2026/7/10
  */
 public class Demo06 {
+    public static void main(String[] args) {
+        int n=17;
+        boolean b=n>1;      //判断这个数是否大于1
+        for (int i = 2; i <=n ; i++) {  //循环可能出现的所有除数,不能包括 1
+            if (n%i==0){
+                b=false;    //不是素数
+                break;  //结束循环
+            }
+        }
+        System.out.println(b?"no":"yes");
+    }
 }
+

+ 14 - 2
授课代码/java-prep-bootcamp/src/com/lovecoding/day04/Demo07.java

@@ -2,11 +2,23 @@ package com.lovecoding.day04;
 
 
 /**
- * @title Demo07
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Demo07
+ * @description 数列求和(正负交替)
+ *  求数列 1 - 1/2 + 1/3 - 1/4 + ... 前 10 项的和并输出(结果保留两位小数)。
  * @create 2026/7/10
  */
 public class Demo07 {
+    public static void main(String[] args) {
+        double sum=0;
+        for (int i = 1; i <=10; i++) {
+            if (i % 2 ==1){
+                sum+=1.0/i; //奇数项为正     加  1 +   1/3 +   1/5 + 1/7   + 1/9
+            }else {
+                sum-=1.0/i; //偶数项为负     减  1- 1/2 - 1/4 - 1/6 - 1/8 - 1/10
+            }
+        }
+        System.out.printf("%.2f",sum);
+    }
 }

+ 15 - 2
授课代码/java-prep-bootcamp/src/com/lovecoding/day04/Demo08.java

@@ -2,11 +2,24 @@ package com.lovecoding.day04;
 
 
 /**
- * @title Demo08
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Demo08
+ * @description 判断回文数
+ * 给定整数 12321,使用循环和分支语句判断它是否为回文数(正读和反读都一样的数)。 是回文数输出 yes,否则输出 no。
  * @create 2026/7/10
  */
 public class Demo08 {
+    public static void main(String[] args) {
+        int n=12321;    //给定的整数,但是他会一直变化
+        int a=n;    //永远不变的数,用来跟最后得到的反着的数进行比较
+        int b=0;    //最终得到反着的 n
+        while (n>0){    //只要大于0,就一直循环
+            int f= n % 10;  //获得n的最后一位数
+            //拿到反着的数
+            b=b*10 + f;
+            n/=10;
+        }
+        System.out.println(a == b ? "yes":"no");
+    }
 }

+ 2 - 2
授课代码/java-prep-bootcamp/src/com/lovecoding/day04/Demo09.java

@@ -1,4 +1,4 @@
-package com.lovecoding.day03;
+package com.lovecoding.day04;
 
 
 /**
@@ -12,7 +12,7 @@ package com.lovecoding.day03;
  *  3!      1*2*3
  * @create 2026/7/10
  */
-public class Demo10 {
+public class Demo09 {
     public static void main(String[] args) {
         int sum=0;//结果 和
         int f=1;    //起始值 1