写一个0~100之间偶数和的java程序
时间: 2023-03-23 09:04:08 浏览: 110
您好,以下是~100之间偶数和的Java程序:
public class EvenSum {
public static void main(String[] args) {
int sum = ;
for (int i = ; i <= 100; i += 2) {
sum += i;
}
System.out.println("~100之间偶数和为:" + sum);
}
}
相关问题
java定义一个多线程程序,主线程输出1~100之间的偶数,每行输出10个数,子线程输出1~100之间的素数,每行输出10个数。
### 回答1:
以下是一个实现要求的多线程程序示例,该程序定义了一个主线程和100个子线程,主线程通过调用子线程来输出1~100之间的偶数,每行输出10个数字。每个子线程负责输出1~100之间的某一个整数,每行输出10个数字。为了控制并发访问,程序使用了同步锁(synchronized)来保证每个线程可以正确地输出。
```
public class MultiThreadProgram {
public static void main(String[] args) {
Printer printer = new Printer();
for (int i = 0; i < 100; i++) {
Thread thread = new Thread(new Task(printer, i + 1));
thread.start();
}
printer.printEvenNumbers();
}
}
class Task implements Runnable {
private Printer printer;
private int number;
public Task(Printer printer, int number) {
this.printer = printer;
this.number = number;
}
public void run() {
printer.printNumber(number);
}
}
class Printer {
private int evenNumber = 2;
private int currentNumber = 1;
public synchronized void printNumber(int number) {
while (number != currentNumber) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.print(Thread.currentThread().getName() + ": " + number + " ");
currentNumber++;
notifyAll();
}
public synchronized void printEvenNumbers() {
while (evenNumber <= 100) {
while (currentNumber % 2 != 0) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.print(Thread.currentThread().getName() + ": " + evenNumber + " ");
evenNumber += 2;
currentNumber++;
notifyAll();
if (evenNumber % 20 == 0) {
System.out.println();
}
}
}
}
```
注意,程序使用wait()方法来等待当前线程可以正确地输出数字,并使用notifyAll()方法来通知其他线程可以开始输出。程序还使用了Thread.currentThread().getName()来输出线程的名称,方便观察线程之间的交替输出。
### 回答2:
以下是一个用Java定义的多线程程序,其中主线程输出1~100之间的偶数,每行输出10个数,子线程输出1~100之间的素数,每行输出10个数:
```
// 导入必要的类
import java.util.ArrayList;
import java.util.List;
// 继承Thread类创建子线程
class PrimeThread extends Thread {
@Override
public void run() {
int count = 0;
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) { // 判断是否为素数
System.out.print(i + " ");
count++;
if (count % 10 == 0) { // 每行输出10个素数
System.out.println();
}
}
}
}
// 判断一个数是否为素数
private boolean isPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
public class Main {
public static void main(String[] args) {
Thread primeThread = new PrimeThread(); // 创建子线程对象
primeThread.start(); // 启动子线程
int count = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // 判断是否为偶数
System.out.print(i + " ");
count++;
if (count % 10 == 0) { // 每行输出10个偶数
System.out.println();
}
}
}
}
}
```
这个程序中,我们创建了一个继承自Thread类的子线程PrimeThread,其中的run()方法实现了子线程输出1~100之间的素数。然后在主线程Main中,我们在子线程执行前先输出1~100之间的偶数。主线程和子线程同时执行,分别输出各自的结果。
Java中编写程序,求0~100之间的偶数和。 要求:分别用while 语句、do•while 语句、for 循环语句实现。
在Java中,我们可以使用三种循环结构(while, do-while, for)来求0到100之间的偶数和。下面是每种循环结构的示例:
1. 使用 `while` 循环:
```java
int sum = 0;
int i = 0;
while (i <= 100) {
if (i % 2 == 0) {
sum += i;
}
i++;
}
System.out.println("Sum of even numbers using while loop is: " + sum);
```
2. 使用 `do-while` 循环:
```java
int sum = 0;
int i = 0;
do {
if (i % 2 == 0) {
sum += i;
}
i++;
} while (i <= 100);
System.out.println("Sum of even numbers using do-while loop is: " + sum);
```
注意,do-while循环会先执行一次循环体再判断条件,所以这里也需要检查`i`是否大于100。
3. 使用 `for` 循环:
```java
int sum = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println("Sum of even numbers using for loop is: " + sum);
```
`for` 循环更简洁,因为它可以一次性初始化变量、设置循环条件和更新迭代。
阅读全文