Fehler im Programm

Neue Frage »

Auf diesen Beitrag antworten »
bloody beginner Fehler im Programm

Meine Frage:
Hallo zusammen.

Bei dem Script dass ihr unten seht ist ein Fehler drin. Hatte das ganze ursprünglich unter javaScript geschrieben, da hat das Programm auch funktioniert. Wahrscheinlich ist da Irgendwo ein Syntax falsch oder sowas relativ simples als ich versucht hab das nach java zu übersetzen...das bekannte "Hello world" hab ich nur drin weil ich wissen wollte ob ich evtl. nen Fehler bei der eingabe in die cmd mache, was aber leider nicht das Problem war.

Also ziel ist es, dass in der cmd nachher die einzelnen Abschnitte untereinander ausgegeben werden, also:

'Sehr geehrte Damen und Herren'
'Heute im Sonderangebot'
'3 Schuhe zum Preis von 2'
'Greifen Sie zu!'

Und noch ne andere Sache: wie ihr seht wollte ich den namen von str1. bzw str2. gerne mit der Variablen "i" verbunden haben, also eben str1.i und str2.i ... kann man das einfach so machen, bzw. gibt es eine Möglichkeit das so in die Richtung hin zu bekommen?

Danke schon mal im Voraus!smile

Meine Ideen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
public class Redirect{
	
	public static void main(String[] args){
		
		System.out.println("Hello World!");
	}

string Text = " 'Sehr geehrte Damen und Herren' 'Heute im Sonderangebot' [] '3 Schuhe zum Preis von 2' 'Greifen Sie zu!'[]";
string[] Zeile = Text.split("]");

for (int i= 0; i < Zeile.length; i++) {
	string aktuelleZeile=Zeile[i];
	int w =aktuelleZeile.indexOf('\'');
	int x =aktuelleZeile.indexOf('\'' , w+1);
	int y =aktuelleZeile.indexOf('\'' , x+1);
	int z =aktuelleZeile.indexOf('\'' , y+1);
		if (w > -1 , x > -1 , y > -1 , z > -1) {
			string str1.i = aktuelleZeile.substring(w , x );
			string str2.i = aktuelleZeile.substring(y , z );
		}
	System.out.println(str1.i\r\n str2.i\r\n );
	}
}
 
Auf diesen Beitrag antworten »
eulerscheZahl

  • Implementierungen müssen in Methoden (z.B. der main) stehen
  • in Java heißt es String (mit großem S)
  • Bei der Ausgabe sind str1 und str2 nicht definiert (Sichtbarkeitsbereich schon wieder verlassen)
  • str1.i? Wofür das i?
  • Einen Zeilenumbruch bekommst du mit str1 + "\n" + str2
  • if (w > -1 && x > -1), wenn du eine UND Verknüpfung aus den Bedingungen haben willst

Und weil du neulich einen Screenshot hochgeladen hast, der nach notepad aussah: Wenn du Java öfter verwenden willst, lade dir z.B. eclipse runter. Ansonsten wenigsten einen vernünftigen Texteditor: notepad++ für Windows, gedit oder ähnliches für Linux.
Auf diesen Beitrag antworten »
bloody beginner RE: Fehler im Programm

Jap, notepad hab ich mittlerweile auch^^

also hab das ganze jetzt umgeschrieben und es sieht so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
 
	public static void aufspalten()/*(String[] args) */{
		String text = " 'Sehr geehrte Damen und Herren' 'Heute im Sonderangebot' [] '3 Schuhe zum Preis von 2' 'Greifen Sie zu!'[]";
		String[] zeile = text.split("]");

		for (int i = 0; i < zeile.length; i++) {
		 	String aktuelleZeile=zeile[i];
			int w =aktuelleZeile.indexOf('\'');
			int x =aktuelleZeile.indexOf('\'' , w+1);
			int y =aktuelleZeile.indexOf('\'' , x+1);
			int z =aktuelleZeile.indexOf('\'' , y+1);
				if (w > -1 && x > -1 && y > -1 && z > -1) {
					String str1 = aktuelleZeile.substring(w , x );
					String str2 = aktuelleZeile.substring(y , z );
					System.out.println(str1);
					System.out.println(str2);
				}
		
		}
	}


dat klappt nur leider immer noch nicht...also hoffe da sind jetzt zmdst keine logikfehler mehr drin...

str1.i wollte ich, damit ich bei mehreren Zeilen immer str1. der jeweiligen Zeile (-->die ich dann durch "i" kennzeichne) zuordnen kann. Kannst du mir evtl. ne andere methode sagen wie ich das machen kann? Bräuchte das, weil ich später die Möglichkeit brauche jeden Abschnitt, also str1 und str2 jeder Zeile, einzeln anzusprechen..
Auf diesen Beitrag antworten »
eulerscheZahl

Ich weiß zwar immer noch nicht, was das genau werden soll, aber die Zuordnung zur Zeile bekommst du so hin:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
public class Redirect {
	public static void main(String[] args) {
		String text = " 'Sehr geehrte Damen und Herren' 'Heute im Sonderangebot' [] '3 Schuhe zum Preis von 2' 'Greifen Sie zu!'[]";
		String[] zeile = text.split("]");

		String[] str1 = new String[zeile.length];
		String[] str2 = new String[zeile.length];
		for (int i = 0; i < zeile.length; i++) {
			String aktuelleZeile = zeile[i];
			int w = aktuelleZeile.indexOf('\'');
			int x = aktuelleZeile.indexOf('\'', w + 1);
			int y = aktuelleZeile.indexOf('\'', x + 1);
			int z = aktuelleZeile.indexOf('\'', y + 1);
			if (w > -1 && x > -1 && y > -1 && z > -1) {
				str1[i] = aktuelleZeile.substring(w, x);
				str2[i] = aktuelleZeile.substring(y, z);
				System.out.println(str1[i]);
				System.out.println(str2[i]);
			}

		}
	}
}

Und notepad ist nicht notepad++
 
Auf diesen Beitrag antworten »
bloody beginner

Ah okay, dachte das wäre iwie komplizierter...

Naja...was das werden soll kann ich dir gerne mal zeigen wenn ich denn mal fertig werdegroßes Grinsen bis dahin stelle ich aber sicher noch ein paar Fragen, deine Antworten sind nämlich ziemlich hilfreichAugenzwinkern
Nur um sicher zu gehen, die Arrays spreche ich dann nachher über str1[0], str1[1], usw an, ne?
und ich meinte auch notpad ++...
Auf diesen Beitrag antworten »
eulerscheZahl

code:
1:
die Arrays spreche ich dann nachher über str1[0], str1[1], usw an

Genau.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »