【发布时间】:2017-08-09 17:15:56
【问题描述】:
我需要一点帮助来创建一个打印 ABC 的程序,总是按这个顺序,在 Java 中,使用线程,其中每个线程都应该是一个字母。
我是 Java 线程的新手。
要求是我必须使用join(),主程序只能有对象的创建和线程的启动。
不能在主程序中使用 join。不能使用睡眠。也不能使用带参数的join,比如join(1000),只能是join()。
这是我到目前为止所做的:
public class Write extends Thread
{
private String letter;
public Write(String letter)
{
this.letter = letter;
}
@Override
public void run ()
{
try
{
if ( letter == "A")
{
this.join();
System.out.print(letter);
}
else if ( letter == "B")
{
this.join();
System.out.print(letter);
}
else if ( letter == "C")
{
System.out.print(letter);
}
}
catch (InterruptedException ie)
{
ie.printStackTrace();
}
}
}
public class TestWrite {
public static void main(String[] args) {
Write letter1 = new Write("A");
Write letter2 = new Write("B");
Write letter3 = new Write("C");
letter1.start();
letter2.start();
letter3.start();
}
}
上面的代码不起作用,它只打印 C 并挂起。有人可以给我一些关于如何完成这项工作的指导吗?
谢谢, 菲利普
【问题讨论】:
-
你不能将 == 与字符串一起使用
-
if ( letter == "A")--> How do I compare strings in Java? -
你说得对,谢谢。
标签: java multithreading java-threads