Java 如何使用如下线程获得输出?

Java 如何使用如下线程获得输出?,java,Java,以下是我实际得到的: 输入+ve编号: 4. 你好,我是Thread#1 你好,我是线程2 你好,我是三号线 你好,我是线程4 您需要让每个线程执行相同的任务,并且只在线程之间更改名称,如下所示: import java.util.Scanner; class CubaThread extends Thread { public CubaThread (String s) { super(s); } public void run() { int num;

以下是我实际得到的:

输入+ve编号:
4.
你好,我是Thread#1
你好,我是线程2
你好,我是三号线
你好,我是线程4

您需要让每个线程执行相同的任务,并且只在线程之间更改名称,如下所示:

import java.util.Scanner;
class CubaThread extends Thread { 
  public CubaThread (String s) { 
    super(s); 
  }
  public void run() { 
  int num;
   Scanner sc = new Scanner(System.in);
    System.out.println("Enter +ve number: "); 
    num = Integer.parseInt(sc.nextLine());
    for (int i=1;i<5;i++){
         System.out.println("Olla I am "+getName()+i);
    try{
    Thread.sleep(10);
    }
    catch(InterruptedException e){
    }
  } 
}
}
public class Cuba{
    public static void main(String args[]){
        new CubaThread("Thread #").start();
    }
}
示例输出:

Enter +ve number:
4

请在这里粘贴文字而不是图片,然后。。。花些时间阅读,尤其是命名为和的部分。也请阅读。最后,请阅读本文,我希望输出低于5,如果小于10,则不会变成这样。您可以向
run
方法添加睡眠。我已经编辑了我的example@Charlie在任何情况下,它都是不可预测的,这取决于您的操作系统、计算机速度和JVM。在我的版本(openjdk版本“11.0.4”2019-07-16)和运行在笔记本电脑上的Linux发行版上,它工作得很好(即使没有
sleep
调用)。
Enter +ve number:
4
Olla I am Thread #2
Olla I am Thread #0
Olla I am Thread #3
Olla I am Thread #1