# Brauche Hilfe beim Programm



## yax (30. Jun 2010)

Heey ich hab ein kleines Problem mit meine Programm. Ich möchte gerne etwas ausgeben, also zum beispiel benutzteZimmer(), aber irgendwie geht das nicht. 


Klasse Haus :

```
public class Haus {
	
	private int flaeche;
	
	private boolean garten;
	private String straße;
	
	
	
	
	public int getFlaeche() {
		return flaeche;
	}
	
	
	public boolean getGarten(){
		return garten;
	}

	public String getStraße(){
		return straße;
	}
	
	public void Anbaumöglichkeit (int anbauwollen){
		
		flaeche = flaeche - anbauwollen;
		if (anbauwollen > flaeche){
			System.out.println("Die zu Anbauende Fläche ist größer als das Grudstück.");
		}else{
			System.out.println("Es sind nach dem Anbauen noch " + flaeche + " des Grundstücks frei.");
		}
	}
	private int zimmerAnzahl;
	
	public void setZimmerAnzahl(int neueZimmerAnzahl){
		zimmerAnzahl = neueZimmerAnzahl;
	}
	
	int[] anzahlZimmer;
	int benutzteZimmer;
		
		
	public void benutzteZimmer(){
		for (zimmerAnzahl = 0; benutzteZimmer > anzahlZimmer[zimmerAnzahl]; benutzteZimmer--){
			System.out.println(benutzteZimmer);
		}
	
	}
	
	
	
	public Haus(int dieFlaeche,  boolean hatGarten, String dieStraße){
		
		flaeche = dieFlaeche;
		
		garten = hatGarten;
		straße = dieStraße;
		
	}
}
```


Klasse HausBesitzer:

```
public class HausBesitzer {
	
	public static void maiN(String[] args){
		
		Haus h = new Haus(1200, true, "Maaseikerstraße");
		
		h.setZimmerAnzahl(8);
		h.setBenutzteZimmer(12); 
		
		
		h.benutzteZimmer();
		


	}

}
```

Wie schaffe ich die Methoden auszugeben???


----------



## SlaterB (30. Jun 2010)

durch korrekte Programmierung,

zunächst mal verzichte auf komplizierte Schleifen und sonstiges, womit du bisher noch Schwierigkeiten hast,
programmiere erstmal


```
public void benutzteZimmer(){
         System.out.println("Anfang Methode benutzteZimmer");
    

         System.out.println("Ende Methode benutzteZimmer");
    }
```
funktioniert?

dann kannst du über die Schleife nachdenken,
welchen Wert haben alle Variablen am Anfang (ausgeben!), wie lauten die Bedingungen,
gehe doch mal manuell durch, was da warum passieren soll, beschreibe den Ablauf

"am Anfang hat doch x den Wert y, die Bedingung z müsste true ergeben, daher .."


----------



## VfL_Freak (30. Jun 2010)

Moin,

ui - interessanter Code :autsch: 

Ich glaube zwar in etwa zu verstehen, was er tun soll, bin mir aber bei weitem nicht sicher ! ueh:

Aber das Deine Methode "benutzteZimmer()" nix ausgibt, ist klar !!
Ab Zeile 39 versucht Du zwei Variablen zu deklarieren, die jedoch nicht initialisert werden 

```
int[] anzahlZimmer;
int benutzteZimmer;
```
Dadurch wird die anschließende for-Schleife fehlschlagen !

Mit dem Setter 

```
public void setZimmerAnzahl(int neueZimmerAnzahl)
{
	zimmerAnzahl = neueZimmerAnzahl;
}
```
übergibst Du zwar eine Anzahl, nutzt Sie dann aber nur als INDEX des uninitialisierten Arrays ...

```
anzahlZimmer[zimmerAnzahl]
```

Der wirkliche Sinn der Schleife erschließt sich mir auch nicht !!
Zumal Du mehr benutzte als vorhandene Zimmer hast ..... :shock:

Gruß
Klaus


EDIT:  oops, zu langsam ;(


----------



## yax (30. Jun 2010)

ja also ich bin grad halt Java am leren und ich wollte mal so viel wie möglich in eine Klasse mit einbauen.


----------



## VfL_Freak (30. Jun 2010)

yax hat gesagt.:


> ja also ich bin grad halt Java am leren und ich wollte mal so viel wie möglich in eine Klasse mit einbauen.



tja, weniger ist manchmal mehr :lol:

Aber im Ernst:
Du solltest Dich am besten erst mal mit den Grundlagen (Datentypen etc.) vertraut machen, bspw. worin der Unterschied bei Deinen Deklarationen besteht:

```
int[] anzahlZimmer;
int benutzteZimmer;
```

Schau Dir mal dieses Online-Buch an :
Galileo Computing :: Java ist auch eine Insel (8. Auflage)

Gruß
Klaus


----------



## yax (30. Jun 2010)

So ich habe jetzt die klasse neu geschrieben . Aber wie speicher ich die Zahlen denn jetzt in die einzelnen Fächer deszimmerArrays??


```
public class Haus {
	
	public int flaeche;
	public boolean garten;
	public String straße;
	public int ausbauen;
	
	public void Ausbauen(){
		int restFlaeche = flaeche - ausbauen;
		
		System.out.println("Sie haben nach dem Ausbauen noch " + restFlaeche + "m^2 übrig ");
	}
	
	public void zimmerBenutzen(int zimmer, int zimmerbewohnen){
		int zimmerUebrig = zimmer - zimmerbewohnen;
		
		if (zimmerbewohnen > zimmer){
			System.out.println("Sie haben zu wenig zimmer");
		}
		else{
			System.out.println("Sie haben noch " + zimmerUebrig + " übrig");
		}
	}
	
	public int faecher = 10;
	
	public int[] zimmerArray = new int[faecher];
	
	public void zimmerAutoBewohnen(){
		for (int autoZimmer = 0; autoZimmer < faecher; autoZimmer = autoZimmer + 1){
			
		}
	}
	
	public Haus(int dieFlaeche, boolean hatGarten, String dieStraße, int vielAusbauen){
		
		flaeche = dieFlaeche;
		garten = hatGarten;
		straße = dieStraße;
		ausbauen = vielAusbauen;
		
	}
	
	
}
```


----------



## Ruzmanz (30. Jun 2010)

Das sind doch ganz normale Arrays. Das müsstest du dir eignetlich selbst mit einem Buch erarbeiten können. So würde eine Zuweisung aussehen, wobei ich nicht weis welche Zahlen du da hinzufügen möchtest.


```
public int[] zimmerArray = new int[faecher];
    
    public void zimmerAutoBewohnen(){
        for (int autoZimmer = 0; autoZimmer < faecher; autoZimmer = autoZimmer + 1){
            zimmerArray[autoZimmer]  = // ?Zahlen?-Kommentar
        }
    }
```


----------



## Michael... (30. Jun 2010)

Welche Zahlen willst Du denn da "reinspeichern"?
Folgende Zeile weist dem ersten Feld von zimmerArray den Wert 10 zu:

```
zimmerArray[0] = 10;
```

Hier noch ein Tip zum Verschönern des Konstruktors, da Dir scheinbar lokale und Instanzvariablen Schwierigkeiten machen:

```
public Haus(int flaeche, boolean garten, String straße, int ausbauen) {
        this.flaeche = flaeche;
        this.garten = garten;
        this.straße = this.straße;
        this.ausbauen = ausbauen;
}
```
wobei hatGarten bei boolean Variablen die schönere Variante wäre


----------



## yax (30. Jun 2010)

also ich möchte gerne ein "immer" in ein Array-Fach speichern.
also das jedes Fach der 10 mit eine Zimmer belegt ist.


----------



## Michael... (30. Jun 2010)

yax hat gesagt.:


> also ich möchte gerne ein "immer" in ein Array-Fach speichern.


Ich nehme mal an, das soll Zimmer heissen? Was ist den ein Zimmer bzw. wodurch wird es repräsentiert? Eine Zahl?

Vielleicht erläuterst Du mal was Du mit der Klasse Haus bezweckst. Dann kann man Dir vielleicht ein paar Tipps geben.


----------



## yax (30. Jun 2010)

Also ich wollte eigentlich nur mal rumprobieren. Also ich möchte Zimmer nr.1, kurz auch "1" in ein Array-Fach speichern.


----------



## Michael... (30. Jun 2010)

für "Zimmer Nr. 1" bräuchtest Du ein String Array, Du hast aber nur ein int Array.
Befüllen könnte man es so:

```
public int[] zimmerArray = new int[10];
    public void zimmerAutoBewohnen(){
        for (int nr = 0; nr < zimmerArray.length; nr++) {
            zimmerArray[nr] = nr + 1;
        }
    }
```
Damit würden die einzelnen Felder des Arrays mit 1, 2, 3, ..., 10 befüllt.


----------



## yax (30. Jun 2010)

Wie erstellt man denn ein String - Array?


----------



## Ruzmanz (30. Jun 2010)

Der Link wurde schon gepostet. Wenn du kein Buch liest, dann wirst du nie Java lernen:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.10 Arrays


----------



## VfL_Freak (30. Jun 2010)

yax hat gesagt.:


> also ich möchte gerne ein "immer" in ein Array-Fach speichern.
> also das jedes Fach der 10 mit eine Zimmer belegt ist



Und was ist, wenn Du nur 5 Zimmer hast ?? 

gruß
Klaus


----------



## yax (30. Jun 2010)

Also erstens ich habe dieses Buch schon gelesen, also so bis kapitel 13, aber ich habe i.wie nicht so viel davon verstanden. Ich wollte eigentlich mal fit in der sache mit for-schleifen und Arrays werden. 

Und VFL Freak, ich weis nicht was ich mach wenn man normal nur 5 Zimmer hat 


kann mir denn vielleicht trodzdem jemand helfen??


----------



## Lexi (30. Jun 2010)

```
String[] dasIstEinStringArray = new String[10];
```
 <- Ein String Array


----------



## yax (30. Jun 2010)

Ich entschuldige mich sehr, aber ich hab halt keine Erfarungen mit Arrays und for-schleifen, also weiß ich einfach nicht wie ich den String-Array anwende. Also ich hab schon ausprobiert aber hat nicht geklappt.


----------



## Lexi (30. Jun 2010)

Einen String Array benutzt man genauso wie einen int oder einen long oder einen Irgendwas Array.
Nach der Deklaration und Initialisierung (mein vorheriger Post) kann man auf den Array per Indizes ganz normal zugreifen.

```
dasIstEinStringArray[0] = "Erster Eintrag im Array";
```

Tipp:

Wenn du Zahlen auf einfache ( nicht unbedingt performanteste ) Weise an einen String anbinden möchtest, kannst du das z.B. so machen:

```
"Zimmer Nr."+1;
```


----------



## VfL_Freak (1. Jul 2010)

Hallo yax,

hast Du denn mittlerweile mal in dieses Buch geschaut ???


Ruzmanz hat gesagt.:


> Der Link wurde schon gepostet. Wenn du kein Buch liest, dann wirst du nie Java lernen:
> Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.10 Arrays



Falls ja, beschreib' doch einfach detaillierter, was Du nicht verstehst ueh:

Gruß
Klaus


----------



## Michael... (1. Jul 2010)

Hier mal was zu Einstieg in die OOP: Klassen und Objekte


----------



## yax (1. Jul 2010)

Also, ja ich habe das Buch schon gelesen. Ich habe ja auch schon größere Programme geschrieben. Doch ich bin noch nicht wirklich mit der for-schleife und Arrays klar gekommen. Dann habe ich angefangen ein Tuturial zu gucken , das hatt mir auch super weiter geholfen. Doch habe ich auch da nicht richtig die Arrays und die for-schleife verstanden. 

Ich möchte eigentlich nur ein kleines Konsolen-Programm schreiben. Es ist mir eigentlich egal über was, also was für ein Objekt aus der realität. Ihr könnt mir ja vielleicht Ideen geben was für Klassen ich schreiben könnte.


----------



## yax (1. Jul 2010)

So ich hab jetzt meiner Meinung nach, eine hakbe for-Schleife geschrieben. Aber wie kann ich jetzt im Array in jedes Feld "Zimmer Nr." + " 1" speichern???


```
String[] dasIstEinStringArray = new String[10];
	
	public void zimmerAutoBewohnen(){
		String nr = "Zimmer Nr. ";
		String a = "Zimmer Nr.1";
		for (int i = 0; i < nr.length(); i++ ){
			
			dasIstEinStringArray[i] = dasIstEinStringArray[];
			System.out.println(dasIstEinStringArray);
			
		}
	}
```


----------



## yax (1. Jul 2010)

Juhu   
Ich habs endlich mit dieser Klasse geschafft. 

Hier ist das wunderbare Ergebnis.  

```
String[] dasIstEinStringArray = new String[10];
	
	public void zimmerAutoBewohnen(){
		String nr = "Zimmer Nr. ";
		String a = "1";
		for (int i = 1; i < nr.length(); i++ ){
			
			dasIstEinStringArray[i] = "Zimmer Nr." + i  ;
			System.out.println(dasIstEinStringArray[i]);
			
		}

	}
```

Aber könnt ihr mir vielleicht sagen, wie ich den Code verschönere ???

Und ihr könnt auch noch andere Übungen mit if-Schleifen und Arrays vorschlagen. (Natürlich nur wenn ihr wollt )


----------



## headset (1. Jul 2010)

Ich würd sagen du guckst einfach nen bischen im Internet und dann findest du deine Antworten auch ohnen Buch, aber mit nem Buch is das auf jeden Fall praktischer


----------



## Lexi (1. Jul 2010)

Wofür brauchst du 
	
	
	
	





```
String a = "1";
```
 und 
	
	
	
	





```
String nr = "Zimmer Nr. "
```
 ?

Und deine for-Schleife sollte nicht 
	
	
	
	





```
nr.length()
```
 als Abbruchbedingung haben, denn in diesem Fall ist es wirklich Zufall, dass der String nr genau 11 Zeichen hat. Schreibe statt dessen lieber sowas wie 
	
	
	
	





```
for(int i = 0; i <= 10; i++)
```
.


----------



## yax (1. Jul 2010)

So endlich. Ich denke jetzt ist es Okay. 

Danke für eure vielen Hilfen und eure Geduld


----------



## Ruzmanz (1. Jul 2010)

yax hat gesagt.:


> Juhu
> Ich habs endlich mit dieser Klasse geschafft.
> 
> Hier ist das wunderbare Ergebnis.
> ...



Erstmal zu Verbesserung:
- Attribute sind [immer] "privat"
- Nicht benutzte Variablen = Schelchter Style, weil ein anderer Programmierer nicht weis, warum die da drinnen sind und man sich nicht traut die dann raus zu nehmen. (=> 	String a = "1"; und String nr = "Zimmer Nr. "
- "nr.length()" ist eine sinnlose/falsche Bedingung. Korrekt müsste das "dasIstEinStringArray.length" heißen.
- Bei der Schreibweise macht man normalerweise ein Leerzeichen hinter die runde Klammer:
(){ wird zu () {
- Unnötoge Leerzeilen vermeiden. zumindest in den Methoden, sofern sie keine einzelne Aktionen trennen. Bsp.:

Richtig:

```
// Person 1:
name = "Frank";
vorname = "Franky";
alter = 43;

// Person 2:
name = "Daniel";
vorname = "Dany";
alter = 34;
```

Falsch:


```
// Person 1:
name = "Frank";
vorname = "Franky";

alter = 43;
// Person 2:
name = "Daniel";

vorname = "Dany";
alter = 34;
```

If-Schleifen: if-schleife.de
Übungen zu Arrays solltes du auch selbst finden.


----------



## Michael... (1. Jul 2010)

Naja, das ganze hat noch Verbesserungspotential. (z.B. ist der Indexbereich Deiner for-Schleife falsch bzw. fehleranfällig abgegrenzt)
Mein Vorschlag:

```
String[] dasIstEinStringArray = new String[10];
    
    public void zimmerAutoBewohnen() {
        for (int i = 0; i < dasIstEinStringArray.length; i++ )
            dasIstEinStringArray[i] = "Zimmer Nr." + (i+1);
    }
```


----------



## yax (1. Jul 2010)

Also mein Code sieht jetzt so aus :


```
private String[] dasIstEinStringArray = new String[faecher];
	
	public void zimmerAutoBewohnen() {
		for ( int i = 1; i < dasIstEinStringArray.length; i++ ) {
			dasIstEinStringArray[i] = "Zimmer Nr." + (i+1) ;
			System.out.println( dasIstEinStringArray[i] );
			}
	}
```

gibt es da noch mehr zu verbessern??


----------



## Lexi (1. Jul 2010)

Jetzt fängst du erst bei Index 2 an String reinzutun.
Lass die for-Schleife besser von i = 0 bis i < dasIstEinStringArray.length() laufen.


----------



## yax (1. Jul 2010)

So das habe ich dann jetzt auch gemacht 

Gibt es noch was??


----------



## Ruzmanz (1. Jul 2010)

Ja, cih weis nicht, ob das Absicht oder ein Versehen ist. Du musst immer gleich einrücken, sonst wird das nichts:

(int i = 1; i < dasIstEinStringArray.length; i++) -> Entweder ist nichts frei
( int i = 1; i < dasIstEinStringArray.length; i++ ) -> Beide seiten haben einen Abstand
Bei der Korrektur ist das richtig, wollte es nurmal sagen, da du das zuerst falsch hattest.

Ansonsten hast du noch deine "}" bei der for-schleife verschoben. Die muss einen Tab zurück.


----------



## Lexi (1. Jul 2010)

Solltest du weiterhin Probleme mit der Formatierung deines Codes haben gibt es bei Eclipse auch eine Auto-Formatting Funktion.


----------



## yax (1. Jul 2010)

> Solltest du weiterhin Probleme mit der Formatierung deines Codes haben gibt es bei Eclipse auch eine Auto-Formatting Funktion.



Echt?? Ist ja cool

Ist dann ja viel einfacher


----------



## headset (6. Jul 2010)

Du musst nur "strg+shift+f" drücken


----------



## yax (7. Jul 2010)

Okay, ich hab mir jetzt ungfär 3/4 des Tuturials angeschaut und ich habe auch super viel gelernt. Aber eins verstehe ich einfach nicht, warum verwendet man das EDT???


----------



## VfL_Freak (7. Jul 2010)

Moin,

ganz einfach :


> Teile dieses Quellcodes werden von unterschiedlichen Threads ausgeführt. Der Thread, der die Methode main ausführt, ist für gewöhnlich nicht der Event-Dispatch-Thread (EDT). Swingkomponenten sollten jedoch generell nur vom EDT erzeugt und verändert werden (falls in der Dokumentation nicht ausdrücklich anderes steht). Daher wird der Quellcode für die GUI  in ein eigenes Runnable-Objekt verpackt. Der Thread, der die Methode main  ausführt, erzeugt also nur das Runnable-Objekt und weist Swing an, diesen Quellcode später im EDT auszuführen.



Quelle:  Swing (Java) ? Wikipedia

Gruß
Klaus


----------



## yax (7. Jul 2010)

Okay danke, jetzt hab ichs verstanden


----------



## yax (10. Jul 2010)

Heey, 

Wie kann man eigentlich das gesamte Array ansprechen??  Also wenn ich testen möchte ob irgendeine Eingabe im Array größer 6 ist??


----------



## Ruzmanz (10. Jul 2010)

Du gehst mit einer for-Schleife durch das ganze Array und frägst dann in dieser mit if, ob das Element größer als 6 ist.


```
for (int i = 0; i < array.length; i++) {
    if (array[i] >= 6) {
        System.out.println("Größer");
    }
}
```


----------



## Jango (10. Jul 2010)

yax hat gesagt.:


> Ich entschuldige mich sehr, aber ich hab halt keine Erfarungen mit Arrays und for-schleifen...(



Dann lerne es!
Hier hilft man bei kongreten Problemen und nicht bei: "Wie lese ich ein Java-Buch".
Dazu muss man was machen - lesen und begreifen. Alternativ, eine andere Beschäftigung suchen... :noe:


----------



## Landei (10. Jul 2010)

Hach, wie charmant unsere Jango heute wieder ist, dabei hat sie doch selbst genügend _kongrete_ Probleme...

@yax, lass dich nicht ärgern, aller Anfang ist schwer.

[edit] Geschlechtsumwandlung


----------



## Jango (10. Jul 2010)

Landei hat gesagt.:


> Hach, wie charmant unser*e* Jango heute wieder ist, dabei hat *sie* doch...



Soviel Zeit muss sein...


----------



## yax (10. Jul 2010)

Danke Landei du bist wirklich nett und nicht so entmutigend. 

Achja Jango, ich kann jetzt schon seit längerer Zeit mit Arrays und for-Schleifen umgehen. !!!


----------



## Ruzmanz (10. Jul 2010)

yax hat gesagt.:


> Achja Jango, ich kann jetzt schon seit längerer Zeit mit Arrays und for-Schleifen umgehen. !!!



Kann ich nicht bestätigen. Lerne lieber weiter.


----------



## yax (10. Jul 2010)

Ja also, erstens es ist voll warm und es ist schwer nachzudenken und zweitens ich habe zwischendurch vieles andere mit java gemacht und mit einen kleine Denkanstoß hat alles wieder geklappt!!!


----------



## headset (10. Jul 2010)

Happy End


----------



## yax (10. Jul 2010)




----------



## yax (13. Jul 2010)

wie kann man eigentlich einzelne Strings aus einer Datenbank auslesen und jeden String in ein JLabel einfügen ????


----------



## VfL_Freak (13. Jul 2010)

Moin,



yax hat gesagt.:


> wie kann man eigentlich einzelne Strings aus einer Datenbank auslesen und jeden String in ein JLabel einfügen ????



noch mehr Grundlagen ???:L;(

Zum ersten Teil:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 23 Datenbankmanagement mit JDBC
Vlt. ist Deine DB ja dabei ...... :noe:

Zum zweiten Teil (Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.3 Beschriftungen (JLabel)) :

```
JLabel.setText "xxx" );
```

Gruß
Klaus


----------



## yax (13. Jul 2010)

Ja, also ich weiß ja schon wie ich text in ein JLable einfüge und ich weiß auch wie man die csv file ausließt und mit der Konsole ausgibt. Ich weiß halt nur nicht wie man die Strings aus der csv file direkt in das JLabel einfügt.


----------



## yax (13. Jul 2010)

Und nein meine Datenbank steht nicht dabei. Ich benutze H2


----------



## VfL_Freak (13. Jul 2010)

yax hat gesagt.:


> Ja, also ich weiß ja schon wie ich text in ein JLable einfüge und ich weiß auch wie man die csv file ausließt und mit der Konsole ausgibt. Ich weiß halt nur nicht wie man die Strings aus der csv file direkt in das JLabel einfügt.
> .......
> Und nein meine Datenbank steht nicht dabei. Ich benutze H2



Sorry, aber das kommt halt bei ungenauen Fragestellungen dabei heraus ... 
Ein CSV-File ist nun mal keine Datenbank ..... 

Also - Kurzanleitung:
  - öffnen und einlesen der CSV-Datei
  - dann über den Separator ';' in ein Stringarray splitten
  - den Inhalt des Arrays nach Belieben auf die Label schreiben 

Gruß
Klaus


----------



## yax (13. Jul 2010)

Okay


----------



## yax (13. Jul 2010)

aber, wie kann ich den Splitten wenn ich den Inhalt gar nicht so wirklich getrennt hab. Also ich hab halt immer ein einzelnes "Feld" für jeden String. Oder ist das Egal??


----------



## Lexi (13. Jul 2010)

Poste doch einfach mal zwei oder drei Zeilen aus deine csv und dann kann man dir wohl sagen womit du splitten kannst/sollst.

Aber ich frage mich sowieso was daran so schwierig sein soll. Deine einzelnen Strings/Felder/Werte/wasauchimmer müssen doch nach irgendeinem Muster von einander getrennt sein. Das können , ; . § % & Zeilenumbruch Leertaste .... sein. Und genau das ist dann dein Trennzeichen was du der split() Methode übergibst.


----------



## VfL_Freak (13. Jul 2010)

yax hat gesagt.:


> aber, wie kann ich den Splitten wenn ich den Inhalt gar nicht so wirklich getrennt hab. Also ich hab halt immer ein einzelnes "Feld" für jeden String. Oder ist das Egal??



Ich denke, Du hast eine Datei im CSV-Format ???:L

Hierin stehen Deine Werte durch ein Semikolon getrennt :
CSV (Dateiformat) ? Wikipedia

Wenn Du die Datei nun in einen String einliest, kannst Du diesen über das Trennzeichen ';' splitten:

```
String myString = "AA;BB;CC";
Pattern p = Pattern.compile( ";" );
String[] strData = p.split( myString, 0 );

// Ergebnis
// strData[0] == "AA";
// strData[1] == "BB";
// strData[2] == "CC";
```

Gruß
Klaus


----------



## yax (13. Jul 2010)

```
public void actionPerformed(ActionEvent arg0) {
				try {
					Class.forName("org.h2.Driver");
				} catch (ClassNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				Connection conn = null;
				try {
					conn = DriverManager.getConnection("jdbc:h2:~/test", "sa",
							"");
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

				SimpleResultSet rs = new SimpleResultSet();
				
				rs.addColumn("Deutsch - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Mathe - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Englisch - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Physik - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Biologie - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Chemie - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Technik - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Religions - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Sport - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Kunst - Note", Types.VARCHAR, 255, 0);
				rs.addColumn("Musik - Note", Types.VARCHAR, 255, 0);
				
				rs.addRow(jTextField1.getText(), jTextField2.getText(),
						jTextField3.getText(), jTextField5.getText(),
						jTextField4.getText(), jTextField11.getText(),
						jTextField6.getText(), jTextField7.getText(),
						jTextField8.getText(), jLabel9.getText(),
						jTextField10.getText());

				try {
					Csv.getInstance().write("data/test.csv", rs, null);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
```

Hilft das zum Helfen weiter??


----------



## yax (13. Jul 2010)

ist das richtig das dass komma das Trennzeichen ist??


----------



## VfL_Freak (13. Jul 2010)

hmmm, wie Lexi schon schrieb:



Lexi hat gesagt.:


> Poste doch einfach mal zwei oder drei Zeilen aus deine csv und dann kann man dir wohl sagen womit du splitten kannst/sollst.



Gruß
Klaus


----------



## Lexi (13. Jul 2010)

yax hat gesagt.:


> ist das richtig das dass komma das Trennzeichen ist??



Können wir hellsehen ? Wieso schaust du dir nicht einfach den Inhalt der csv Datei an, das kann doch eigentlich garnicht so schwer sein ???:L

EDIT: Hatte das Posting von Vfl Freak nicht gesehen...


----------



## yax (13. Jul 2010)

also ich hab jetzt vieles ausprobiert, aber kann mir vielleicht jemand an meine Code helfen?? nur so einen kleinen( oder auch super gerne einen großen ) Tipp geben..


----------



## Lexi (13. Jul 2010)

Sag mal, ignorierst du unsere Posts bewusst ?
Poste einfach mal den Inhalt, oder einen Teil des Inhalts deiner csv, wie schon in den letzten Posts erwähnt.


----------



## yax (13. Jul 2010)

doch natürlich habe ich das, aber ich schaff es einfach nicht die Teile zu splitten...


----------



## yax (13. Jul 2010)

wie soll ich das denn anzeigen. Soll ich etwa das aus der Konsole kopieren????


----------



## yax (13. Jul 2010)

dann hier :


Deutsch - Note: 1
Mathe - Note: 1
Englisch - Note: 2
Physik - Note: 1
Biologie - Note: 1
Chemie - Note: 2
Technik - Note: 1
Religions - Note: 2
Sport - Note: 3
Kunst - Note: Kunst:
Musik - Note: 2


----------



## VfL_Freak (13. Jul 2010)

Übrigens ... *es gibt hier den Button "Ändern" NICHT nur zur Verschönerung der Maske !!! *  



yax hat gesagt.:


> dann hier :
> Deutsch - Note: 1
> Mathe - Note: 1
> Englisch - Note: 2
> ...



Wenn es denn wirklich SO in Deiner erzeugten Datei steht, dann könnte das Trennzeichen auch der Zeilenumbruch sein .... 

Gruß
Klaus


----------



## Lexi (13. Jul 2010)

Wie du siehst sind die einzelnen Zeilen durch einen Zeilenumbruch getrennt.
D.h. du kannst sie ganz einfach mit einem FileReader auslesen.

```
BufferedReader reader = new BufferedReader(new FileReader("path/to/your/cvsFile"));
label.setText(reader.readLine());
```

Und die Sachen aus deinem letzten Post sind auch wirklich aus der csv Datei rauskopiert ? ( Also hast du die per Explorer geöffnet den Text markiert und danach kopiert und hier eingefügt ? )


----------



## yax (13. Jul 2010)

ja das habe ich gemacht


----------



## yax (13. Jul 2010)

also so hat es mir eclipse in der internen Konsole angezeigt


----------



## yax (13. Jul 2010)

aber wenn ich das so mach wie Lexi dann wird das in mein Array kopiert:
 "Deutsch - Note","Mathe - Note","Englisch - Note","Physik - Note","Biologie - Note","Chemie - Note","Technik - Note","Religions - Note","Sport - Note","Kunst - Note","Musik - Note"


----------



## yax (13. Jul 2010)

aber wie kann ich das ändern??


----------



## yax (13. Jul 2010)

ich habe es geschafft, dass er mir die ganzen Ergebnisse in einer Reihe ausgibt :

Deutsch - Note: 1Mathe - Note: 1Englisch - Note: 1Physik - Note: 1Biologie - Note: 1Chemie - Note: 1Technik - Note: 1Religions - Note: 1Sport - Note: 1Kunst - Note: 1Musik - Note: 1.

Wie bekomme ich jedes ergebnis in eine Zeile??


----------



## yax (13. Jul 2010)

Okay ich hab es alles einzeln in einer Zeile


----------



## yax (13. Jul 2010)

So ich habs jetzt allein geschafft 

Danke für eure guten Hilfen und auch danke für die Geduld


----------



## headset (13. Jul 2010)

Happy End


----------



## yax (13. Jul 2010)




----------



## Landei (13. Jul 2010)

Man


----------



## Landei (13. Jul 2010)

braucht


----------



## Landei (13. Jul 2010)

nicht


----------



## Landei (13. Jul 2010)

immer


----------



## Landei (13. Jul 2010)

einen


neuen


Beitrag


für


jedes


Wort


----------



## VfL_Freak (13. Jul 2010)

Landei hat gesagt.:


> einen
> neuen
> Beitrag
> für
> ...



der war wirklich gut :lol:
Aber ob es hilft ????? 

Gruß
Klaus


----------

