定义一个线程类,用户输出前n个正整数。要求:将n个数划分为m个部分。第i个线程输出n个整数中的第i部分。例如:n=20时,m=5,那么创建5个线程,每个线程输出4个数:第1个线程输出1 2 3 4第2个线程输出5 6 7 8第3个线程输出9 10 11 12第4个线程输出13 14 15 16第5个线程输出17 18 19 20可能的输出效果如下图所示:
基本代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
int n = cin.nextInt();
int m = cin.nextInt();
int num = n/m;
Myth myth[] = new Myth[m+1];
for(int i=0;i<m;i++)
{
myth[i] = new Myth(num,i);
myth[i].start();
}
}
}
}
class Myth extends Thread{
private int num;
private int i;
public Myth(int num, int i) {
super();
this.num = num;
this.i = i;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public void run()
{
for(int j=i*num+1;j<=(i+1)*num;j++)
{
System.out.println("第" + (i+1) + "个线程:" + j);
}
}
}