Мне нужна небольшая помощь, чтобы создать программу, которая печатает ABC, всегда в этом порядке, на Java, используя потоки, в которых каждый поток должен быть буквой.
Я новичок в потоках в Java.
Требование состоит в том, что я должен использовать join(), а основная программа может иметь только создание объекта и запуск потоков.
Невозможно использовать соединение внутри основной программы. Не могу использовать сон. Также нельзя использовать соединение с параметрами, такими как соединение (1000), это должно быть только соединение ().
Вот что я сделал до сих пор:
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")
--› Как сравнивать строки в Java? - person Pshemo   schedule 09.08.2017