Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Erst mal ein Hallo und vielen Dank im voraus an alle Beteiligten.
Ich möchte die ArrayList gerade, die mit int werten gefüllt ist ohne die Zeichen [ ] , in einer Zeile ausgeben.
Das funktioniert auch aber am ende der zeile steht dann ein Prozentzeichen auf der Standartausgabe, dass ich nicht möchte
Java:
if (str1.equals(str2)) {
for (int k=0; k<gerade.size(); k++) {
System.out.print(gerade.get(k)+" ");
}
}
Hab lange gesucht und komm nicht so recht weiter (ein % Zeichen wird in der google Suche anscheinend nicht mal interpretiert nicht ma so "%")
Am liebsten wärs mir, wenn jemand mein Fehler bezeichnen könnte. Ich wär mit einer Alternative aber auch sehr glücklich.
Prozentzeichen kommen nicht von selber, über ein Programm muss man schon Kontrolle habe,
starte mit einem Hello-Word-Programm, gibt das nur Hello World aus und kein %? gut
danach arbeite Schritt für Schritt dein Programm ein kopiere Klassen, Methoden, einzelne Aufrufe,
schaue im ganzen Programm nach System.out.x-Aufrufen, irgendwo musst du es stehen haben, von selber passiert das nicht
Also dein Code ist so weit in Ordnung. Das %-Zeichen kommt irgendwie in deine Liste hinein und wird als String ausgegeben.
Um zu ermitteln, wie das Zeichen in deine Liste kommt, musst du deinen Code vom Füllen der Liste mal durchgehen.
Danke für die rasche Antwort
Hier ist nun das ganze Programm:
[Java]
String str1 = new String(argv[2]);
String str2 = new String("vorderseite");
String str3 = new String("rueckseite");
//Array Liste anlegen
ArrayList gerade = new ArrayList();
ArrayList ungerade = new ArrayList();
//vorderseite
for (int i = 0; i <= (seitenzahl); i=i+(2*subseiten)){
for (int j = 1; j<=subseiten; j++){
if (i+j <= seitenzahl) {
gerade.add(i+j);
}
}
}
//rückseite
for (int i = subseiten; i <= (seitenzahl); i=i+(2*subseiten)){
for (int j = 1; j<=subseiten; j++){
if (i+j <= seitenzahl) {
ungerade.add(i+j);
}
}
}
//ausgeben.
if (str1.equals(str2)) {
for (int k=0; k<gerade.size(); k++) {
System.out.print(gerade.get(k)+" ");
}
}
}
}
[/Java]
Das Programm soll Seitenzahlen Ausgeben die ich dann ducken möchte und Zwar will ich beidseitig drucken und mehrere Seiten pro Blatt. Man kann Angeben wie viele Seiten es ursprünglich gab und wie viele Seiten auf einer Seite später gedruckt werden und ob es später die Vorderseite ist oder die Rückseite.
Interessant ist auch, dass wenn ich anstatt print println nehme und zeilenweise die Elemente der ArrayList ausgebe ist da kein prozentzeichen.
ein vollständiges Programm ist das nicht, Variablen wie seitenzahl fehlen,
von Programmparametern wie argv[2] sollte das testweise besser auch nicht abhängen
falls andere das überprüfen können sollen, gib Dummy-Werte im Programm vor,
deine letzte Bemerkung zu println() läßt aber stark rätseln, vielleicht wirklich irgendwas bei dir kaputt,
schön wäre zur Abklärung aller normalen Ursachen ein komplettes Programm mit Klasse(n), main-Methode und einfach allem, so kurz wie möglich
----
nebenbei:
> String str1 = new String(argv[2]);
> String str2 = new String("vorderseite");
ok, also am Code ist nichts derartiges,
ich kann noch nach einen Screenshot fragen aber habe eigentlich keine Idee wo das herkommen kann
----
ganz tief aus der Wunderkiste:
vielleicht hilft es ohne Kenntnis der Ursache,
wenn du im Programm längere Strings mit + zusammenbaust und dann doch nur println() verwendest
statt alles einzeln auszugeben
schaue auch immer nach weiteren Postings von mir zwischendurch, geht ja schnell hin und her hier, ich editiere auch teilweise
verwendest du eigentlich BlueJ oder sonst was komisches?
dein Programm hat überhaupt kein println() bisher, vielleicht geht das % weg, woher es auch immer kommt,
wenn du wenigstens einmal per
System.out.println();
am Ende einen Zeilenumbruch einbaust
Also ich hab auch probiert in das println statement die Schleife reinzubasteln. Hat aber nicht geklappt. Da ich vom vielen rumprobieren schon etwas entnervt binn stell ich jetzt einfach ma die dreiste Frage wie du dir des genau vorgestellt hast das mit + und println zusammenzuwursteln.
wenn du aber das ganze Programm ohne println() haben willst, dann bleibt das % vielleicht,
---
zum Testen nebenher:
du könntest dein Programm komplett zerstören und einfach nur
print(1+" ");
print(2+" ");
oder noch weniger schreiben, kommt da auch %?,
bei wieviel Zahlen, bei wievielen nicht?
OK
zwei mal Danke
einmal an SlaterB das Dummy Programm mit 2 mal print gibt bei mir auch das % Zeichen aus
und einmal an Andy_Ch die Fehlermeldung hab ich jetzt auch weg bekommen
Ich denk ich muss mir da nen Workaround einfallen lassen, wenn nicht noch einer nen Geistesblitz hat. Binn für alle Vorschläge dankbar.
Es gibt auch keine überflüssige Leerzeile wenn man einfach noch println hinzufügt, vor der ich angst hatte.
Freut mich das Jetzt alles zu meiner Zufriedenstellung geklärt ist und ich so einiges dabei gelernt hab.
Da das Alles so super keklappt hat werd ich mich bestimmt bald hier anmelden (spätestens beim nächsten Java Problem und die werden kommen denn ich hab bald ein Programierpraktikum)