“你好,士兵!”

“你好,船长!”

“我有一些好消息要告诉你。这里有几道练习题,可以增强你的技能。每天练习练习,你的技能会得到飞速进步。它们是专门针对 IntelliJ IDEA 创建的。”

4
任务
Java 核心,  第 6 级课程 13
已锁定
Thread.currentThread 始终返回当前线程
1.在 printMsg 方法中,将当前线程赋值给变量 t。 2.在 printMsg 方法中,在所有操作后添加 1 毫秒的延时。
4
任务
Java 核心,  第 6 级课程 13
已锁定
连续线程
1.在 run 方法中,在所有操作后添加 10 毫秒的延迟。如果线程已中断,则显示“线程已中断”。 2.让所有线程顺序运行:首先,对于线程 1,从 COUNT 倒数到 1;其次,对于线程 2 - 从 COUNT 倒数到 1,依次类推。 示例: #1:4 #1:3 ... #1:1 #2:4 ...
18
任务
Java 核心,  第 6 级课程 13
已锁定
以递归方式创建线程
1.更改 GenerateThread 类,使其成为线程。 2.创建 GenerateThread 构造方法,此方法必须: 2.1.调用超类的构造方法,以 String 方式传递创建的线程号。使用 createdThreadCount。 2.2.启动当前线程。 2.3.线程号必须从 1 开始。 3.重写 toString 方法:在 GenerateThread 内部,使用 Alt+Insert -> Override Methods。开始键入“toString”。 3.1.toString 方法必须返回当前线程号和“已创建”一词。使用 getName()。 示例: 8 已创建 4.如果创
4
任务
Java 核心,  第 6 级课程 13
已锁定
连续线程
1.弄明白程序的功能。 2.让程序先显示线程的结果,当线程完成时,则 main 方法会继续。 3.示例输出: 在 MyThread 0 内 在 MyThread 1 内 ... 在 MyThread 9 内 在 main 0 内 在 main 1 内 ... 在 main 9 内
4
任务
Java 核心,  第 6 级课程 13
已锁定
死锁
1.弄明白程序是如何工作的。 2.不更改 T1 和 T2 类,让其线程完成(不一定成功)。 3.不要使用 sleep 方法。
9
任务
Java 核心,  第 6 级课程 13
已锁定
遵循某种模式
弄明白程序是如何工作的。 与 CountdownRunnable 类似,创建一个 CountUpRunnable 线程,以计数的顺序显示值:1 到 number。
18
任务
Java 核心,  第 6 级课程 13
已锁定
我们玩游戏好吗?
三个人玩游戏。每个玩游戏的人(玩家)都有两个参数:姓氏(名字)和每秒的动作(评分)。 显示所采取的动作并确定赢家和输家。 开始吧... 1.弄明白程序的功能。 1.1.List<String> actions 存储每个玩家执行的动作序列(从 0 到最后一个)。 1.2. isWinnerFound 指示赢家已找到。 1.3.sleep 方法抛出 InterruptedException 并带 long 参数。 1.4.玩家每个互相独立地玩游戏。 2.实现 run 方法,以便为每个玩家: 2.1.在 actions 列表中指定的动作以定期间隔 (1000ms/rating) 显示。
18
任务
Java 核心,  第 6 级课程 13
已锁定
早起的鸟儿有虫吃
1.弄明白程序的功能。 1.1.每个线程应从控制台读取几行内容。使用现有的 static BufferedReader reader。 1.2.使用 AtomicInteger readStringCount 计算所有线程从控制台读取多少行内容。 2.实现 run 方法: 2.1.只要线程未中断 (!IsInterrupted),从控制台读取几行内容,然后将其添加到 List<String> result。 2.2.使用 readStringCount 对从控制台读取的字符串计数。
9
任务
Java 核心,  第 6 级课程 13
已锁定
该你了!
1.在 Solution 类中,创建继承 Thread 的 public static Read3Strings 类。 2.在 run 方法中,从控制台读取三行内容。 3.应该在一个线程上连续读取三行内容,然后合并为一个以空格分隔的字符串。 4.在 main 方法中,显示每个线程的结果。 5.使用 join。 示例: 输入: a b c d e f 输出: a b c d e f
18
任务
Java 核心,  第 6 级课程 13
已锁定
顺序文件输出
1.弄明白程序的功能。 2.在 static 块中,读取 2 个文件名:firstFileName 和 secondFileName。 3.在 Solution 类的内部,创建 public static ReadFileThread 类,该类实现 ReadFileInterface 接口(想想哪个更适合:Thread 或 Runnable)。 3.1.setFileName 方法必须设置将读取其内容的文件名。 3.2.getFileContents 方法必须返回文件的内容。 3.3.在 run 方法中,读取文件的内容并关闭流。使用空格分隔文件的行。 4.想想你需要在何处等待线程完成,以确保文

“以前的练习题是针对新手的。我为老学员添加了一些更高级的奖励练习题。只为老学员提供哦。”

18
任务
Java 核心,  第 6 级课程 13
已锁定
工厂方法模式
1.仔细看看你所拥有的类。 2.在 common 包的不同文件中,创建 JpgReader、PngReader 和 BmpReader 类,这些类实现 ImageReader 接口。 3.在 main 包的单独文件中,创建包含一个方法的 ImageReaderFactory 类。 3.1.想想它应叫什么? 3.2.想想该方法应具有哪些修饰符。 4.该方法应: 4.1.对于 ImageTypes 中的每个值,返回相应的 Reader。例如,对于 ImageTypes.JPG,返回 JpgReader; 4.2.如果传递了无效参数,则抛出异常: IllegalArgumentException("
18
任务
Java 核心,  第 6 级课程 13
已锁定
线团
1.创建 5 个与 Thread 不同线程: 1.1.线程 1 必须无限运行; 1.2.线程 2 应在 InterruptedException 发生时显示“InterruptedException”; 1.3.线程 3 应每半秒显示一次“加油”。 1.4.线程 4 必须实现 Message 接口。当调用 showWarning 方法时,线程应停止; 1.5.线程 5 应从控制台读取数字,直到“N”输入为止。然后它应显示输入数字的总和。 2.在 static 块中,将你的线程以指定的顺序添加到 List<Thread> threads。 3.线程不应自动启动。 提示: 线程 4 可
18
任务
Java 核心,  第 6 级课程 13
已锁定
调试一切事物
弄明白程序的功能。 查看 UncaughtExceptionHandler - 很重要。 再仔细看看该程序。 弄明白 OurUncaughtExceptionHandler 为何不工作(使用调试程序)。 修复错误,即一切都应正常工作。:) 预期结果无特定顺序: 线程 1:我的异常消息 线程 2:我的异常消息