java wiederholen Charakter
Ich bin ein java-Anfänger, bitte im Hinterkopf behalten. Ich habe ein Programm liest eine Zahl ein, und zeigt dann, dass die Menge der Ausrufezeichen "!".
Dies ist, was ich habe:
import java.util.Scanner;
import java.io.PrintStream;
class E_HerhaalKarakter1 {
PrintStream out;
E_HerhaalKarakter1 () {
out = new PrintStream(System.out);
}
String printUitroeptekens (int aantal) {
String output = "!"
for (int i = 0; i <= aantal; i++) {
output.concat("!");
}
return output;
}
void start () {
Scanner in = new Scanner(System.in);
out.printf("Hoeveel uitroeptekens wilt u weergeven?\n");
if(in.hasNext()) {
out.printf("baldbla");
printUitroeptekens(in.nextInt());
out.printf("%s",output);
}
}
public static void main (String[] argv) {
new E_HerhaalKarakter1().start();
}
}
Danke
- Mögliche Duplikate von: stackoverflow.com/questions/1235179/... Schauen: Commons-Lang StringUtils.wiederholen()
- Nutzen Sie bitte Englisch (auch im code), wenn Fragen auf ein Englisches forum.
- In der Tat halten Sie mindestens der gesamte code Englisch (alle Bezeichner; Klassennamen, methodnames, variablenames). Nachrichten gehalten werden kann in Niederländisch, aber vorzugsweise hinzufügen einer englischen Kommentar deutlich zu machen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie tatsächlich mit der Anforderung zu erstellen, die eine Zeichenfolge, die enthält X die Anzahl der Ausrufezeichen, dann ist hier ein Weg, es zu tun, ohne wiederholte Verkettung:
Ihr Programm nicht funktioniert, da String.concat() ändert nicht den string, sondern gibt einen neue string. Zum Beispiel, "ein".concat("b") ist "ab". Also, sollten Sie schreiben
output = output.concat("!")
stattoutput.concat("!")
.Dies ist jedoch sehr ineffizient, da der Aufbau ein string von n Ausrufezeichen dauert O(n^2) Zeit (look up "big-oh-notation" auf google oder wikipedia, siehe auch Schlemiel-der-Maler-Algorithmus).
Blick auf die Dokumentation der
StringBuilder
Klasse und verwenden Sie es. Es wurde konzipiert für den Aufbau von strings teilen.Es sieht aus wie Sie sind sehr nah, Tom.
Erste, der normale Weg zum Aufbau einer
String
in Java ist mit derStringBuilder
Klasse, wie folgt:Dann müssen Sie deklarieren eine variable namens
output
im Rahmen derstart()
Methode, und weisen Sie das Ergebnis derprintUitroeptekens()
Methode auf diese variable, so:Ihr Programm sollte diese Struktur aufweisen:
Es gibt nichts in der Aussage, dass Sie tatsächlich erstellen Sie eine Zeichenfolge, so weit ich erzählen kann.