执行上述程序清单,每个程序将输出不同的结果,具体如下:
| 程序清单 | 主要功能 | 预期输出示例(或说明) |
|---|---|---|
| listing 1 | 使用 StringTokenizer 解析字符串 |
title Java: The Complete Reference author Schildt publisher Oracle Press copyright 2018 |
| listing 2 | 演示 BitSet 的位操作 |
输出 bits1 和 bits2 的初始位模式,以及进行 AND、OR、XOR 操作后的结果。 |
| listing 3 | 演示 Optional<T> 的基本用法 |
noVal has no value The string in hasVal is: ABCDEFG Default String |
| listing 4 | 使用 Date 类显示日期和时间 |
输出当前日期时间(如 Mon Jun 10 10:30:00 CST 2024)和对应的毫秒数。 |
| listing 5 | 使用 Calendar 类操作日期和时间 |
输出当前日期和时间,然后输出修改小时、分钟、秒后的时间。 |
| listing 6 | 使用 GregorianCalendar 并判断闰年 |
输出当前日期和时间,并判断当前年份是否为闰年。 |
| listing 7 | 生成并显示高斯(正态)分布随机数的分布 | 输出100个高斯随机数的平均值,并横向打印其分布直方图(星号表示)。 |
| listing 8 | 使用 Timer 和 TimerTask 执行定时任务 |
延迟1秒后开始,每0.5秒输出一次 "Timer task executed.",持续5秒后停止。 |
| listing 9 | 使用 Currency 类获取货币信息 |
输出美元符号(如 $)和默认小数位数(如 ` |
| 2`)。 | ||
| listing 10 | 使用 Formatter 进行基本格式化 |
Formatting with Java is easy 10 98.600000 |
| listing 11 | 演示 %f 和 %e 格式符 |
循环输出 ` |
1.230000 1.230000e+00、 |
||
| 123.000000 1.230000e+02` 等。 | ||
| listing 12 | 格式化时间和日期 | 分别输出12小时制时间、完整日期时间、小时:分钟、月份全名/缩写/数字。 |
| listing 13 | 演示 %n(换行)和 %%(百分号) |
Copying file Transfer is 88% complete |
| listing 14 | 演示字段宽度和零填充 | ` |
| listing 15 | 创建平方和立方表 | 输出1到10的数字、平方、立方,每个字段宽度为4。 |
| listing 16 | 演示精度修饰符 | ` |
123.1235(保留4位小数) <br> |
||
1.23e+02(宽度16,科学计数法保留2位小数) <br>Formatting with` (字符串截取前15个字符) |
||
| listing 17 | 演示左对齐 | ` |
| listing 18 | 演示空格格式符 | -100 100 (正数前有空格) -200 200 |
| listing 19 | 使用参数索引简化日期格式 | Today is day 10 of June, 2024 (具体日期取决于运行时间) |
| listing 20 | 使用 try-with-resources 管理 Formatter |
同 listing 10,输出 Formatting with Java is easy 10 98.600000 |
| listing 21 | 使用 Scanner 从控制台读取数字计算平均值 |
等待用户输入数字,输入 done 后计算并输出平均值。 |
| listing 22 | 使用 Scanner 从文件读取数字计算平均值 |
向文件写入测试数据,然后读取并计算平均值,输出 Average is 6.2。 |
| listing 23 | 使用 Scanner 从文件读取混合类型数据 |
输出文件中每个标记及其类型,如 String: Testing、int: 10、double: 12.2 等。 |
| listing 24 | 使用 Scanner 设置分隔符读取逗号分隔值 |
计算文件中逗号分隔数字的平均值,输出 Average is 6.2。 |
| listing 25 | 演示 Scanner.findInLine() 方法 |
从字符串 "Name: Tom Age: 28 ID: 77" 中查找并输出 Age: 后的值 ` |
| 28`。 | ||
| listing 26 & 27 | 定义资源包(英文和德文版) | 这两个是资源包类定义,本身不产生控制台输出。 |
| listing 28 | 演示使用 ResourceBundle 加载资源包 |
输出英文和德文版本的 title、StopText、StartText 键对应的字符串值。 |
重要提示 :
*部分程序的输出(如 listing 4, 5, 6, 7, 12, 19)依赖于程序运行时的具体系统时间或随机数生成结果,因此每次运行的实际输出可能不同。
- listing 21是一个交互式程序,需要用户在控制台输入数字并以
done结束,其输出取决于输入。 - listing 22, 23, 24 涉及文件 I/O,它们会创建并读取名为
test.txt的文件。请确保程序有当前目录的读写权限,且没有同名文件冲突。 - listing 26, 27, 28 演示了国际化(i18n)。要正确运行 listing 28,需要将 listing 26 和 27 编译后的类文件(
SampleRB.class和SampleRB_de.class)放在类路径下,通常是与主类相同的目录或特定的资源包路径中。