定义一个java线程,打印A~Z
时间: 2023-08-29 07:07:11 浏览: 45
可以通过继承Thread类或实现Runnable接口来创建线程,以下是通过继承Thread类创建线程并打印A~Z的示例代码:
```java
public class PrintThread extends Thread {
@Override
public void run() {
for (char c = 'A'; c <= 'Z'; c++) {
System.out.print(c);
}
}
}
```
在main方法中创建并启动线程:
```java
public class Main {
public static void main(String[] args) {
PrintThread thread = new PrintThread();
thread.start();
}
}
```
运行程序后,输出的结果为:ABCDEFGHIJKLMNOPQRSTUVWXYZ
相关问题
编写两个线程类,一个线程打印26个英文字母,另一个线程打印1~26的数字。用Java写个代码我看看
好的,这是Java的代码实现:
```
class LetterThread extends Thread {
public void run() {
for(char c = 'A'; c <= 'Z'; c++) {
System.out.print(c + " ");
}
}
}
class NumberThread extends Thread {
public void run() {
for(int i = 1; i <= 26; i++) {
System.out.print(i + " ");
}
}
}
public class Main {
public static void main(String[] args) {
LetterThread letterThread = new LetterThread();
NumberThread numberThread = new NumberThread();
letterThread.start();
numberThread.start();
}
}
```
这里定义了两个线程类 LetterThread 和 NumberThread,分别打印出英文字母和数字。在 Main 类中创建了这两个线程并启动它们。通过使用线程来同时输出英文字母和数字,易于理解和实现。
用java实现编写两个线程一个线程打印1-52的整数,另一个线程打印字母A-Z。打印顺序为12A34B56C...5152Z。即按照整数和字母的顺序从小到大打印,并且每打印两个整数后,打印一个字母,交替循环打印,直到打印到整数 52和字母Z结束。
这里是一种可能的Java实现方式:
```java
public class PrintThreadDemo {
public static void main(String[] args) {
Object lock = new Object(); // 定义一个锁对象
// 创建并启动打印数字的线程
Thread numberThread = new Thread(new NumberPrinter(lock));
numberThread.start();
// 创建并启动打印字母的线程
Thread letterThread = new Thread(new LetterPrinter(lock));
letterThread.start();
}
}
// 打印数字的线程
class NumberPrinter implements Runnable {
private Object lock;
private int number = 1;
public NumberPrinter(Object lock) {
this.lock = lock;
}
@Override
public void run() {
synchronized (lock) {
while (number <= 52) {
System.out.print(number++);
System.out.print(number++);
lock.notify(); // 唤醒等待中的字母线程
try {
if (number <= 52) {
lock.wait(); // 让数字线程等待
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
lock.notify(); // 唤醒可能还在等待的字母线程
}
}
}
// 打印字母的线程
class LetterPrinter implements Runnable {
private Object lock;
private char letter = 'A';
public LetterPrinter(Object lock) {
this.lock = lock;
}
@Override
public void run() {
synchronized (lock) {
while (letter <= 'Z') {
System.out.print(letter++);
lock.notify(); // 唤醒等待中的数字线程
try {
if (letter <= 'Z') {
lock.wait(); // 让字母线程等待
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
lock.notify(); // 唤醒可能还在等待的数字线程
}
}
}
```
这个程序中,通过一个共享的锁对象来控制数字和字母线程的交替打印。数字线程先打印两个数字,然后唤醒等待中的字母线程,自己进入等待状态。字母线程打印一个字母,唤醒等待中的数字线程,自己进入等待状态。如此交替进行,直到数字和字母都打印完毕。注意,在最后需要额外调用一次 `lock.notify()`,以唤醒可能仍在等待的线程。