帮我用java写个demo
时间: 2024-02-11 11:04:29 浏览: 21
好的,以下是Java实现的示例代码:
```java
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
if (num % 2 == 0) {
System.out.println("输入的数是偶数。");
} else {
System.out.println("输入的数是奇数。");
}
scanner.close();
}
}
```
这个demo会提示用户输入一个整数,然后判断这个数是奇数还是偶数,并输出判断结果。我们使用`Scanner`类读取用户输入的整数,然后使用`%`运算符判断这个数是否为偶数。如果余数为0,说明这个数是偶数;否则,它就是奇数。最后,我们使用`close()`方法关闭`Scanner`对象,释放资源。
相关问题
帮我用java用future写个demo
好的,以下是Java实现的示例代码:
```java
import java.util.concurrent.*;
public class FutureDemo {
public static void main(String[] args) throws Exception {
// 创建一个线程池
ExecutorService executor = Executors.newFixedThreadPool(3);
// 提交三个任务到线程池中,并返回Future对象
Future<Integer> future1 = executor.submit(() -> {
System.out.println("Starting calculation 1...");
Thread.sleep(2000);
System.out.println("Calculation 1 done.");
return 1 * 2;
});
Future<Integer> future2 = executor.submit(() -> {
System.out.println("Starting calculation 2...");
Thread.sleep(2000);
System.out.println("Calculation 2 done.");
return 2 * 2;
});
Future<Integer> future3 = executor.submit(() -> {
System.out.println("Starting calculation 3...");
Thread.sleep(2000);
System.out.println("Calculation 3 done.");
return 3 * 2;
});
// 等待所有任务完成
CompletableFuture.allOf(future1, future2, future3).join();
// 获取任务的结果
int result1 = future1.get();
int result2 = future2.get();
int result3 = future3.get();
// 输出结果
System.out.println("Result 1: " + result1);
System.out.println("Result 2: " + result2);
System.out.println("Result 3: " + result3);
// 关闭线程池
executor.shutdown();
}
}
```
在这个示例中,我们使用`ExecutorService`创建一个线程池,并使用`submit()`方法提交三个任务到线程池中。`submit()`方法会返回一个`Future`对象,可以使用它来检查任务的状态或获取任务的结果。我们使用`CompletableFuture.allOf()`方法等待所有任务完成,然后使用`get()`方法获取任务的结果并输出。由于线程池中有三个线程,因此这三个任务会并行执行,提高了计算效率。最后,我们使用`shutdown()`方法关闭线程池。
帮我用java写个多线程demo
好的,以下是Java实现的多线程示例代码:
```java
public class MultiThreadDemo {
public static void main(String[] args) {
// 创建两个线程
Thread thread1 = new Thread(new MyRunnable("Thread 1"));
Thread thread2 = new Thread(new MyRunnable("Thread 2"));
// 启动线程
thread1.start();
thread2.start();
}
static class MyRunnable implements Runnable {
private String name;
public MyRunnable(String name) {
this.name = name;
}
@Override
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.println(name + ": " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
```
在这个示例中,我们创建了两个线程,它们都执行同一个`Runnable`对象。`MyRunnable`类实现了`Runnable`接口,它的`run()`方法会循环输出当前线程的名字和计数器的值,并在每次输出后睡眠1秒。我们使用`Thread`类创建两个线程,并启动它们。由于两个线程共享同一个`Runnable`对象,因此它们会交替输出。这个示例演示了如何使用Java多线程来实现并发执行的效果。