用户工具

站点工具


zh:courses:java2026:ch02

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
zh:courses:java2026:ch02 [2026/02/22 17:45]
pzczxs 创建
zh:courses:java2026:ch02 [2026/02/22 21:26] (当前版本)
pzczxs [课件]
行 1: 行 1:
 ====== 第二章:Java语言基础 ====== ====== 第二章:Java语言基础 ======
 ===== 课件 ===== ===== 课件 =====
-下载:Java语言基础+下载:{{ :​zh:​courses:​java2026:​ch02.pptx |Java语言基础}}
  
 ===== 整型数据测试程序 ===== ===== 整型数据测试程序 =====
行 299: 行 299:
 ===== 上机作业 ===== ===== 上机作业 =====
   * 编写程序,求$1 + 3 + 7 + 15 + 31 + \cdots + (2^{20} - 1)$的值;   * 编写程序,求$1 + 3 + 7 + 15 + 31 + \cdots + (2^{20} - 1)$的值;
-【参考答案】 
-<file java TowPowSummation.java>​ 
-package cn.edu.bjut.chapter2;​ 
- 
-public class TwoPowerSummation { 
- public static void main(String[] args) { 
- int sum = 0;  
- for (int n = 1; n <= 20; n++) { 
- sum += (int) Math.pow(2, n) - 1;  
- } 
-  
- System.out.println(sum);​ 
- } 
-} 
-</​file>​ 
   * 已知$S = 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \cdots + \frac{1}{n - 1} - \frac{1}{n}$,试编写程序求解直到满足$\frac{1}{n} < {10}^{-5}$时的$S$值;   * 已知$S = 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \cdots + \frac{1}{n - 1} - \frac{1}{n}$,试编写程序求解直到满足$\frac{1}{n} < {10}^{-5}$时的$S$值;
-【参考答案】 
-<file java FractionSummation.java>​ 
-package cn.edu.bjut.chapter2;​ 
- 
-public class FractionSummation { 
- public static void main(String[] args) { 
- double sum = 0;  
- for (int n = 1; (1.0 / n >= 1e-5); n++) { 
- if (n % 2 == 0) { // 偶数 
- sum -= 1.0 / n;  
- } else { // 奇数 
- sum += 1.0 / n;  
- } 
- } 
- System.out.println(sum);​ 
- } 
-} 
-</​file>​ 
   * 编写程序,计算没有数码9的三位数有多少个,它们的和等于多少?   * 编写程序,计算没有数码9的三位数有多少个,它们的和等于多少?
-【参考答案】 
-<file java ThreeDigitNumber.java>​ 
-package cn.edu.bjut.chapter2;​ 
- 
-public class ThreeDigitNumber { 
- public static void main(String[] args) { 
- int count = 0;  
- int sum = 0;  
-  
- for (int i = 100; i < 1000; i++) { 
- String str = String.valueOf(i); ​ 
- if (str.indexOf('​9'​) >= 0) { 
- continue; ​ 
- } 
-  
- count++; ​ 
- sum += i;  
- } 
-  
- System.out.println(count + "​\t"​ + sum);  
- } 
-} 
-</​file>​ 
   * 国际专利分类号(IPC)的前15位由section(部),class(大类),subclass(小类),main group(大组)和sub group(小组)五部分组成,每位的要求如下表所示,具体例子如:“G06F ​  ​17/​30”和“H01M ​  ​10/​587”,编写程序将这五部分拼接成IPC的实际表现形式;   * 国际专利分类号(IPC)的前15位由section(部),class(大类),subclass(小类),main group(大组)和sub group(小组)五部分组成,每位的要求如下表所示,具体例子如:“G06F ​  ​17/​30”和“H01M ​  ​10/​587”,编写程序将这五部分拼接成IPC的实际表现形式;
  
行 366: 行 310:
 | 9      | 分割符 ​             | /          | | 9      | 分割符 ​             | /          |
 | 10-14  | subgroup(左对齐) ​   | 0...99999 ​ | | 10-14  | subgroup(左对齐) ​   | 0...99999 ​ |
- 
-【参考答案】 
-<file java Ipc.java>​ 
-package cn.edu.bjut.chapter2;​ 
- 
-public class Ipc { 
- public static void main(String[] args) { 
- final char SEPARATOR = '/';​ 
-  
- { 
- char section = '​A';​ 
- int mainClass = 4; 
- char subclass = '​B';​ 
- int mainGroup = 55; 
- int subgroup = 56; 
- 
- String classification = section ​ 
-                                        + String.format("​%2s",​ mainClass).replace('​ ', '​0'​) ​ 
-                                        + subclass + String.format("​%4s",​ mainGroup) ​ 
-                                        + SEPARATOR + subgroup; 
- 
- System.out.println(classification);​ 
- } 
-  
- { 
- String classification = "​A04B ​ 55/​56"; ​ 
- char section = classification.charAt(0); ​ 
- int mainClass = Integer.parseInt(classification.substring(1,​ 3));  
- char subclass = classification.charAt(3); ​ 
- int pos = classification.indexOf(SEPARATOR); ​ 
- int mainGroup = Integer.parseInt(classification.substring(4,​ pos).trim()); ​ 
- int subgroup = Integer.parseInt(classification.substring(pos + 1));  
-  
- System.out.println(section + "​\t"​ + mainClass + "​\t" ​ 
-                                        + subclass + "​\t"​ + mainGroup + "​\t" ​ 
-                                        + subgroup); ​ 
- } 
- } 
-} 
-</​file>​ 
  
 [[zh:​courses:​java2026:​index|返回Java课程页]] [[zh:​courses:​java2026:​index|返回Java课程页]]
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
zh/courses/java2026/ch02.1771753539.txt.gz · 最后更改: 2026/02/22 17:45 由 pzczxs