Wie kann man in Java die Summe beliebiger Zahlen berechnen?
Wie kann man ein Java-Programm schreiben, das beliebig viele ganze Zahlen entgegennimmt und deren Summe berechnet?
Um eine beliebige Anzahl von ganzen Zahlen einzulesen und deren Summe zu berechnen, gibt es verschiedene Ansätze. Eine Möglichkeit besteht darin ´ eine Schleife zu verwenden ` in der jede eingegebene Zahl aufsummiert wird. Hier ist ein Beispielcode der dieses Vorgehen zeigt:
```java
import java.util.Scanner;
public class SummeBeliebigerZahlen {
public static void main(String[] args) {
int summe = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Geben Sie die Zahlen ein (zum Beenden 'exit' eingeben):");
while (true) {
String eingabe = scanner.next();
if (eingabe.equalsIgnoreCase("exit")) {
break;
}
int zahl = Integer.parseInt(eingabe);
summe += zahl;
}
System.out.println("Die Summe der eingegebenen Zahlen ist: " + summe);
}
}
```
In diesem Beispiel wird eine Endlosschleife verwendet die solange läuft, bis der Benutzer das Wort "exit" eingibt. In jedem Schleifendurchlauf liest das Programm eine Zeichenkette (String) ein und überprüft, ob es sich um "exit" handelt. Ist dies der Fall, wird die Schleife mit dem `break`-Statement abgebrochen.
Andernfalls wird die eingegebene Zeichenkette in eine Ganzzahl (Integer) umgewandelt und zur Summe addiert. Am Ende wird die Summe mit `System.out.println()` ausgegeben.
Man könnte ebenfalls eine andere Bedingung für das Beenden der Schleife festlegen, exemplarisch das Erreichen einer bestimmten Summe oder die Eingabe einer speziellen Zahlenkombination. Das hängt von den Anforderungen des Programms ab.
Es gibt auch noch andere Ansätze um die Summe beliebiger Zahlen zu berechnen, zum Beispiel die Verwendung der `reduce()`-Methode aus der Java 8 Stream API. Diese ermöglicht es eine Liste von Zahlen zu reduzieren und die Summe zu berechnen. Hier ist ein Beispielcode der diese Methode verwendet:
```java
import java.util.Arrays;
public class SummeBeliebigerZahlen {
public static void main(String[] args) {
int[] zahlen = Arrays.stream(args)
.mapToInt(Integer::parseInt)
.toArray();
int summe = Arrays.stream(zahlen)
.sum();
System.out.println("Die Summe der eingegebenen Zahlen ist: " + summe);
}
}
```
In diesem Beispiel werden die Zahlen als Kommandozeilenargumente übergeben. Sie können das Programm also beispielsweise mit `java SummeBeliebigerZahlen 1⸴2 3 4` aufrufen. Die `reduce()`-Methode und die `sum()`-Methode ermöglichen es die Summe der Zahlen direkt zu berechnen, ohne eine Schleife zu verwenden.
Beide Ansätze liefern das gleiche Ergebnis die Wahl hängt von den Anforderungen und Präferenzen des Programms ab.
```java
import java.util.Scanner;
public class SummeBeliebigerZahlen {
public static void main(String[] args) {
int summe = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Geben Sie die Zahlen ein (zum Beenden 'exit' eingeben):");
while (true) {
String eingabe = scanner.next();
if (eingabe.equalsIgnoreCase("exit")) {
break;
}
int zahl = Integer.parseInt(eingabe);
summe += zahl;
}
System.out.println("Die Summe der eingegebenen Zahlen ist: " + summe);
}
}
```
In diesem Beispiel wird eine Endlosschleife verwendet die solange läuft, bis der Benutzer das Wort "exit" eingibt. In jedem Schleifendurchlauf liest das Programm eine Zeichenkette (String) ein und überprüft, ob es sich um "exit" handelt. Ist dies der Fall, wird die Schleife mit dem `break`-Statement abgebrochen.
Andernfalls wird die eingegebene Zeichenkette in eine Ganzzahl (Integer) umgewandelt und zur Summe addiert. Am Ende wird die Summe mit `System.out.println()` ausgegeben.
Man könnte ebenfalls eine andere Bedingung für das Beenden der Schleife festlegen, exemplarisch das Erreichen einer bestimmten Summe oder die Eingabe einer speziellen Zahlenkombination. Das hängt von den Anforderungen des Programms ab.
Es gibt auch noch andere Ansätze um die Summe beliebiger Zahlen zu berechnen, zum Beispiel die Verwendung der `reduce()`-Methode aus der Java 8 Stream API. Diese ermöglicht es eine Liste von Zahlen zu reduzieren und die Summe zu berechnen. Hier ist ein Beispielcode der diese Methode verwendet:
```java
import java.util.Arrays;
public class SummeBeliebigerZahlen {
public static void main(String[] args) {
int[] zahlen = Arrays.stream(args)
.mapToInt(Integer::parseInt)
.toArray();
int summe = Arrays.stream(zahlen)
.sum();
System.out.println("Die Summe der eingegebenen Zahlen ist: " + summe);
}
}
```
In diesem Beispiel werden die Zahlen als Kommandozeilenargumente übergeben. Sie können das Programm also beispielsweise mit `java SummeBeliebigerZahlen 1⸴2 3 4` aufrufen. Die `reduce()`-Methode und die `sum()`-Methode ermöglichen es die Summe der Zahlen direkt zu berechnen, ohne eine Schleife zu verwenden.
Beide Ansätze liefern das gleiche Ergebnis die Wahl hängt von den Anforderungen und Präferenzen des Programms ab.