编写java程序利用线程输出从1到100的奇数,每隔一秒钟输出一个数字
时间: 2024-02-23 21:59:55 浏览: 31
好的,以下是Java程序代码示例:
```
public class PrintOddNumberThread implements Runnable {
@Override
public void run() {
for (int i = 1; i <= 100; i += 2) {
System.out.println(i);
try {
Thread.sleep(1000); // 每隔1秒钟输出一个数字
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// 创建线程并启动
new Thread(new PrintOddNumberThread()).start();
}
}
```
该程序实现了一个 `Runnable` 接口,重写了 `run()` 方法,在该方法中通过循环输出所有从 1 到 100 的奇数,并通过 `Thread.sleep()` 方法来实现每隔 1 秒钟输出一个数字的功能。最后在 `main()` 方法中创建线程并启动,程序会在新线程中执行。
相关问题
用java 多线程编写一个定时器每隔一秒钟,在控制台打印出
当前时间。
代码如下:
```
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimerThread implements Runnable {
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000); // 线程休眠1秒钟
Date date = new Date(); // 获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 时间格式化
String time = sdf.format(date); // 格式化时间
System.out.println(time); // 输出时间
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
TimerThread timer = new TimerThread();
Thread thread = new Thread(timer);
thread.start();
}
}
```
代码说明:
1. 定义一个TimerThread类,实现Runnable接口,表示该类是一个线程任务。
2. 在run()方法中,使用while循环,每隔1秒钟执行一次。
3. 获取当前时间,并格式化为字符串,输出到控制台。
4. 在main()方法中,创建一个TimerThread对象,创建一个线程,并启动该线程。
java多线程编写一个程序,创建两个线程分别输出奇数和偶数。其中,每个线程循环输出10次
好的,这是一个简单的Java程序,用于创建两个线程分别输出奇数和偶数,每个线程循环输出10次:
```java
public class PrintNumbers {
public static void main(String[] args) {
Thread oddThread = new Thread(new PrintOdd());
Thread evenThread = new Thread(new PrintEven());
oddThread.start();
evenThread.start();
try {
oddThread.join();
evenThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
static class PrintOdd implements Runnable {
@Override
public void run() {
for (int i = 1; i <= 20; i += 2) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
static class PrintEven implements Runnable {
@Override
public void run() {
for (int i = 2; i <= 20; i += 2) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
}
```
在这个程序中,我们定义了两个内部类 `PrintOdd` 和 `PrintEven`,分别用于输出奇数和偶数。在每个类中,我们使用了 `for` 循环来生成一系列奇数和偶数,并使用 `System.out.println` 方法输出它们。注意,我们在输出中加入了当前线程的名称,以便区分两个线程的输出。
然后,在主函数中,我们创建了两个线程 `oddThread` 和 `evenThread`,分别用于执行 `PrintOdd` 和 `PrintEven` 类。我们使用 `start` 方法启动这两个线程,并使用 `join` 方法等待它们的完成。注意,我们需要等待两个线程完成后才能退出程序,否则可能会出现输出的混乱。