Wie kann ich in einem Zahlenfeld in Java einen Beistrich am Ende entfernen?
Hi,
ich generiere Fibonacci zahlen, getrennt durch einen Beistrich. Es ist eine normale int, kein Array oder so was. Das Resultat sieht so aus:
0, 1, 2, 3, 5, 8,
Wie kann ich den Beistrich am ende der 8 entfernen? Nicht schreien, ich bin Anfänger.
Danke im Voraus.
2 Antworten
a) Du achtest beim Zusammenbauen des Strings darauf, das letzte Komma nicht zu setzen.
Beispiel:
StringBuilder builder = new StringBuilder();
int sequenceLength = fibonacciNumbers.size();
for (int i = 0; i < sequenceLength; ++i) {
builder.append(fibonacciNumbers.get(i));
if (i != sequenceLength - 1) {
builder.append(',');
}
}
String sequenceAsString = builder.toString();
Oder kürzer seit Java 8:
fibonacciNumbers.stream().map(String::valueOf).collect(Collectors.joining(","))
--
b) Die toString-Methode der AbstractCollection listet die gespeicherten Elemente kommasepariert in dieser Form auf (beispielhaft zu einer Liste an Zahlen):
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
// ...
numbers.add(5);
System.out.println(numbers.toString()); // [1, ..., 5]
Das heißt, du müsstest nur noch die beiden Klammern aussparen. Das lässt sich mit der substring-Methode leicht gestalten.
c) Du wendest die substring-Methode auf dein derzeitiges Ergebnis an.
Hört sich nach Zaunpfahlfehler an.
https://de.wikipedia.org/wiki/Zaunpfahlfehler
Wie sieht denn dein Quellcode aus?