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.
hallo ich will ein programm schreiben was ein zeichenkette einließt, die länge zählt und weiter verarbeitet.( die anzahl der zeichen ist n) als erstes soll auf n zeilen das erste zeichen einmal das zweite zeichen zwei mal und das letzte zeichen n mal ausgegeben werden. und das ganze linksbündig. und als zweites soll das erste zeichen n mal, das zweite zeichen n-1 und das letzte zeichen einmal ausgegeben werden. also umgekehrt.alles rechtsbündig.
als beispeil soll follgendes ausgegeben werden:
Code:
H HHHHH
AA AAAA
LLL LLL
LLLL LL
OOOO O
ich bin erstmal so weit gekommen das eine eingabe erfolgt und ausgezählt wird aber der rest ist mir völlig schleierhaft.kann mir bitte jemand helfen bin ein blutiger anfänger
Code:
mport java.io.*;
public class Schachteln{
public static void main(String[] args)
throws IOException
{int n;
String x;
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println ( "Eingabe einer Zeichenkette bitte:" );
x = din.readLine();
n = x.length();
}
}
du musst das ganze zeichenweise betrachten.
möglichkeit 1: die eingabe in ein char array legen und dann verarbeiten
möglichkeit 2: mittels substring die einzelnen zeichen rausholen
dann erfolgt die ausgabe zb in einer zähschleife
das ganze sieht dann so aus:
Code:
//hier realisiere ich das ganze mittels der char array möglichkeit. das array wurde bereits intitialiseirt und gefüllt (name des arrays hier c).
for (int i=0;i<n;i++){
for(int j=0;j<=i;j++){
System.out.print(c[i]);
}
System.out.println("\t"); //bin mir nicht mehr ganz sicher ob \t einrücken ist oder nicht einfach mal testen
for(int j=i+1;j<=n;j++){
System.out.print(c[i]);
}
}
hab grad nur so ausm kopf geschrieben, wenns nicht stimmt korrigiert mich
ich hab das follgendermaßen gemacht, und wie du gesagt hast eingebaut aber der bringt mir fehlermeldungen. wei meinst du das mit den substring? muss ich das vorher definieren? und wi mache ich das#?
Code:
import java.io.*;
public class Schachteln{
public static void main(String[] args)
throws IOException
{int n;
String x;
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println ( "Eingabe einer Zeichenkette bitte:" );
x = din.readLine();
n = x.length();
for (int i=0;i<n;i++){
for(int j=0;j<=i;j++){
System.out.print(c[i]);
}
System.out.println("\t");
System.out.print(c[i]);
}
}
}
du musst das ganze verschieben und die buchstaben gleichzeitig ausgeben oder sie nacheinander berechnen und in einem stringarray oder ähnlichem abspeichern und dann den neuen teil hinzufügen.
ansonsten wüsste ich es nicht wie man das rechtsbündig machen könnte. wenn du es mit tabulatoren machst, könntest du das ganze mit leerzeichen einrücken um den rechtsbündig effekt zu erhalten