Compiler Probleme

felix6494

Mitglied
Hallo ich habe 2 Klassen voll fertig ausprogrammiert die auch so keine Fehler enthalten ala ";" vergessen oder so aber beim kompilieren wirft es mir einen Fehler das irgendwas nicht stimmt mit "Java Heap Space". Ich bin prog anfänger und hab keine Ahnung wie ich das ausbessern soll =(

Könnte das bitte mal jemand komplieren und mir sagen wie ich den Fehler ausbessern muss, wäre wirklich super!

mfg bd

Java:
public class AsciiImage{
		
	private int hoehe;
	private int breite;
	String image;
		
	public AsciiImage(){
		
		int breite = 0;
		int hoehe = 0;
		image = "";
				
	}
	
	
	public boolean addLine(String line){
		if (line.length() < 1) {
			return false; }		
		else if (breite == 0) {
			breite = line.length(); }
		else if (line.length() != breite) {
			return false; }
			
		image = image + line;
		hoehe ++;
		
		return true; 	
	}
	
	
	// gibt die Breite des Bildes (die Länge der Zeilen) zurück.
	
	public int getWidth(){
		return breite;
	}
	
	// gibt die Höhe des Bildes (die Anzahl der Zeilen) zurück.
	
	public int getHeight(){
		return hoehe;
	}
	
	
	// Hier wird bekannt gegeben welcher char an der bestimmten Koordinate zu finden ist.
	private char getPixel(int x, int y){
		char place = image.charAt(breite*y +x);
		return place;
	}
	
	// Hier wird der char auf der gewünschten Stelle mit dem gewünschten char vertauscht
	private void setPixel(int x, int y, char c){
		image = image.substring(0, breite*y +x) + c + image.substring ((breite*y +x +1), image.length());
	}
	// gibt eine lesbare Darstellung des ASCII-Bildes zurück. Die einzelnen Zeilen sollen dabei 
	// durch Zeilenumbrüche ‘\n’ getrennt werden.
	
	public String toString(){
		
		String temp = "";
			
		for (int i = 0; i < hoehe; i++) {
			temp += image.substring((breite*i), (breite * (i+1))) + "\n";
			
		}
		return temp.substring(0, temp.length());
	}
	
	// gibt zurück wieviele unterschiedliche Zeichen im Bild vorkommen. So enthält das einzeilige 
	// Bild abaaabac 3 unterschiedliche Zeichen.
	
	public int getUniqueChars(){
		int anzahl = 0;
		String chars = "";
		
		for (int i = 0; i < image.length(); i++) {
			
			char aktuell = image.charAt(i);
			
			if(!chars.contains(String.valueOf(aktuell))) {
				
				chars += chars + aktuell;
			}
		}
		anzahl = chars.length();
		return anzahl;
	}
	
	// dreht das Bild vertikal um, sprich es vertauscht die Zeilen des Bildes (die erste mit der 
	// letzten, die zweite mit der vorletzten, usw.)
	
	public void flipV(){
		//Hier werden die temporären Linien eingespeichert.
		String temp = "";
		
		//In flip wird line hineinkopiert und am Ende in pic gespeichert.
		String flipped = "";
						
		for(int i = hoehe-1; i>=0; i--){

			temp = image.substring((breite*i),breite*(i+1));
						
			flipped +=  temp;
		}
		image = flipped;
	}
	
	// vertauscht Zeilen und Spalten des Bildes, sprich aus der ersten Zeile im Bild wird die erste 
	// Spalte usw. Dabei ändern sich Höhe und Breite des Bildes (vgl. Matrix_(Mathematik)). Diese 
	// Methode muss sicherstellen, dass abhängige Eigenschaften des Bildes (Höhe, Breite) 
	// aktualisiert werden.
	
	public void transpose(){
		
	//Im String transpose wird gearbeitet. Nach Beendigung wird er in pic gespeichert.
	String transponiert = "";
		
	int change = 0;
	// Der erste Loop ist für die Breite
	for(int i = 0; i < breite;i++){
	// Der zweite Loop ist für die Höhe
	for(int j = 0; j < hoehe;j++){
			
				transponiert = transponiert + getPixel(i,j);
	}
	}
		
	
	image = transponiert;
	// Höhe und Breite werden vertauscht
	change = breite;
	breite = hoehe;
	hoehe = change;
	}
				
	// Ersetzt das Zeichen an der Position (x,y) mit dem Zeichen c und ruft sich ggfs. selbst 
	// rekursiv auf (mit neuen Werten von (x,y) die den Nachbarpositionen entsprechen). Die Methode 
	// implementiert den rekursiven Floodfill Algorithmus (siehe Runde 3).
	
	public void fill(int x, int y, char c){
		
		if ( x > breite - 1 || y > hoehe - 1) {
			System.out.println("OPERATION FAILED");
			System.exit(0); 
		}
		
		char aktuell = getPixel(x,y);
		
		setPixel(x,y,c);
		
		if (c == aktuell) {
			return;
		}
		
		//Nach  rechts schauen
		if(x<breite-1 && getPixel(x+1,y)==aktuell){
		
		fill(x+1,y,c);
		
		}
		
		//Nach links schauen	
		if(x>0 && getPixel(x-1,y)==aktuell){
		
		fill(x-1,y,c);
		
		}
		
		// Nach unten schauen
		if(y>0 && getPixel(x,y-1)==aktuell){
		
		fill(x,y-1,c);
		
		}
		
		// Nach oben schauen	
		if(y<hoehe-1 && getPixel(x,y+1)==aktuell){
		
		fill(x,y+1,c);
		
		}
	
	}
	
	// In AsciiImage soll die Methode public boolean isSymmetricH() implementiert werden. Diese 
	// überprüft, ob das Bild horizontal symmetrisch ist - sprich ob jede Zeile für sich 
	// symmetrisch ist (oder anders formuliert: ob jede Zeile ein Palindrom ist - vgl. Palindrom). 
	// Diese Methode soll aufgerufen werden, falls der Befehl symmetric-h eingegeben wird. Das 
	// Ergebnis (true/false) soll dann unmittelbar (analog zum Befehl uniqueChars noch vor dem 
	// Bild) in einer eigenen Zeile ausgegeben werden.
	
	
	
}


Java:
import java.util.*;

public class AsciiShop{
	
	//Hier wird vom Scanner ausgelesen und auch die Ausgabe findet hier statt.
	public static void main (String args [])
	{	
		
		int zeilen = 1;
		String line;
		
		Scanner eingabe = new Scanner(System.in);
		AsciiImage ascii = new AsciiImage();		
		
		if( eingabe.hasNext()){
			if( eingabe.next().equals( "read")) {
				if(eingabe.hasNextInt()) {
				zeilen = eingabe.nextInt(); 
				
				}else {System.out.println ("INPUT MISMATCH");
				return; }
			}else {System.out.println ("INPUT MISMATCH");
				return; }
		}else {System.out.println ("INPUT MISMATCH");
				return; }
		
		eingabe.nextLine();
		
		for (int i = 0; i < zeilen; i++) {
			line = eingabe.nextLine();
			if (ascii.addLine(line) == false) {
				System.out.println("INPUT MISMATCH");
				return; 
			}
		}
		
		while (eingabe.hasNext()) {
			String methode = eingabe.next();
			
			if( methode.equals ("flip-v")) {
				ascii.flipV(); 
			}
			else if (methode.equals ("fill")) {
				int x = eingabe.nextInt();
				int y = eingabe.nextInt();
				char c = eingabe.next().charAt(0);
				
				ascii.fill(x,y,c);
			}
			else if (methode.equals ("uniqueChars")) {
				System.out.println(ascii.getUniqueChars());
			}
			else if (methode.equals ("transpose")) {
				ascii.transpose();
			}	
			else { System.out.println("INPUT MISMATCH");
					return;			
			}
		}
		
		System.out.println(ascii.toString());
		System.out.print(ascii.getWidth() + " ");
		System.out.println(ascii.getHeight());
					
				
	
	

	}
}


Ich konnte keinen button finde um die ganzen .java dateien einfach anzuhängen deshalb das ganze stück =/
 
M

Marcinek

Gast
HeapSpace deutet auf eine Endlosscheife hin. Teste es mal bei
Code:
while (hasNext());
 

felix6494

Mitglied
hmm nein hier dürfte meiner meinung nach das problem nicht liegen .. zumind laut test.

hast du es mal kompiliert? es ist ja eine längere Fehleranzeige die ich nicht verstehe. :noe:
 
J

jDennis79

Gast
Wie wärs wenn du einfach mal die Fehlermeldung hier postest?

[OT]Weder bezüglich meines Standings hier im Forum, noch bezüglich meiner Javakenntnisse darf ich allzu vorlaut sein, aber ich muss jetzt trotzdem mal loswerden: Ich find's echt schlimm, dass man das immer wieder extra erwähnen muss. Wenn die Leute zum Arzt gehen, beschreiben sie doch auch ihre Symptome... da sagt doch auch keiner: "Wenn ich koche, klappt alles prima, aber wenn ich dann essen will, geht's nicht. Irgendwas mit 'Aua!' oder so. 'ne Idee?"[/OT]
 

bitkopf

Mitglied
Ich hab das gerade ohne Probleme kompiliert. Mit Eclipse und danach auch mit javac auf Konsole.

Ein Schuss ins Blaue für dein Problem: Die JVM kann warum auch immer nicht genug Arbeitsspeicher belegen. Eigtl. geht der Heapspace flöten, wenn man zuviel Objekte mit "new" erzeugt, typischerweise in einer Endlosschleife, aber das scheint bei dir nicht der Fall zu sein.
 

felix6494

Mitglied
Es tut mir leid, die Übeschrift ist da wohl irreführend, es ist kein problem beim kompilieren sondern ein problem wenn ich die dateien test.

Ich bekomme diese Fehlermeldung wenn ich eine Datei teste:

Path>java AsciiShop < asciishop-A04-PP.i1 > asciishop-A04-PP.out1

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2367)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.
java:130)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractString
Builder.java:114)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415
)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at AsciiImage.addLine(AsciiImage.java:25)
at AsciiShop.main(AsciiShop.java:31)
 
Zuletzt bearbeitet:

bitkopf

Mitglied
Code:
at AsciiImage.addLine(AsciiImage.java:25)
at AsciiShop.main(AsciiShop.java:31)

Die Fehlermeldung sagt, dass in der Methode addLine(..) in Zeile 25 was nicht hinhaut.
Wahrscheinlich ist was endlosschleifiges eingebaut.

Wenn Du tiefer ins Programmieren einsteigen möchtest, wäre jetzt ein guter Zeitpunkt sich ein wenig mit Debuggern zu beschäftigen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Compiler-Fehler Probleme mit dem Compiler Java Basics - Anfänger-Themen 10
J Mac OS X - javac - Compiler Probleme Java Basics - Anfänger-Themen 2
I Probleme mit Pfad zum Compiler Java Basics - Anfänger-Themen 8
D [DONE] JDK Installation: Compiler macht Probleme. Java Basics - Anfänger-Themen 3
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
N Compiler-Fehler State Machine - Compiler Error Java Basics - Anfänger-Themen 48
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
A Compiler Fehler - not a statement Java Basics - Anfänger-Themen 2
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
B Nicht reproduzierbarer Fehler bei Kompilierung - Shortcut "Bereinigung" Compiler ? Java Basics - Anfänger-Themen 4
Gaudimagspam Compiler Error Java Basics - Anfänger-Themen 3
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
D Warum Compiler das nicht Java Basics - Anfänger-Themen 6
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
V Komplizierte Compiler Fehlermeldungen Java Basics - Anfänger-Themen 7
B Compiler -> unendliche Schleife (StringBuffer?) Warum? Java Basics - Anfänger-Themen 2
B Java Compiler Fehler Java Basics - Anfänger-Themen 7
R Compiler-Fehler Java Compiler Unterschiede Java Basics - Anfänger-Themen 10
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
L Compiler funktioniert nicht Java Basics - Anfänger-Themen 2
M Erste Schritte Erstes Programm mit Compiler öffnen Java Basics - Anfänger-Themen 4
K Enigma compiler Fehler Java Basics - Anfänger-Themen 4
K Compiler-Fehler Enigma compiler Fehler Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
W Compiler-Fehler Compiler Fehler Java Basics - Anfänger-Themen 9
K Arraylist - Compiler Fehler Java Basics - Anfänger-Themen 3
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
J Compiler-Fehler Cmd startet compiler Java Basics - Anfänger-Themen 1
Z Java Compiler will nicht mehr Java Basics - Anfänger-Themen 3
J Compiler Fehler Java Basics - Anfänger-Themen 5
R Java HotSpot Compiler Java Basics - Anfänger-Themen 6
J Java Basics Frage Compiler etc Java Basics - Anfänger-Themen 12
J Compiler-Fehler Verständnis Problem bei Compiler-Warning Java Basics - Anfänger-Themen 7
D [jni] compiler error Java Basics - Anfänger-Themen 2
J Compiler findet method nicht Java Basics - Anfänger-Themen 12
E Compiler Java Basics - Anfänger-Themen 9
I Suche Compiler in Java SDK Java Basics - Anfänger-Themen 5
D Classpath compiler zur Laufzeit aufrufen & lib-classpath Java Basics - Anfänger-Themen 6
S Compiler-Fehler see the compiler error output Java Basics - Anfänger-Themen 6
E Verwirrender Compiler Fehler!? Java Basics - Anfänger-Themen 3
Dit_ Compiler-Fehler Stringvariable ändern | Compiler warnung Java Basics - Anfänger-Themen 25
M Compiler-Fehler instanceof compiler-error Java Basics - Anfänger-Themen 2
M JDK installieren Compiler Version Java Basics - Anfänger-Themen 4
pindakaas Compiler geht nicht (Dekorator Muster) Java Basics - Anfänger-Themen 18
S compiler auf 6.0 stellen Java Basics - Anfänger-Themen 6
L laut Compiler fehlt der Methodenkörper Java Basics - Anfänger-Themen 2
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
R Automatischer Compiler? Java Basics - Anfänger-Themen 4
H TreeMap Rückgabe - Compiler-Warnings Java Basics - Anfänger-Themen 9
C Hat jemand Ahnung zum GCJ(Gnu Compiler for Java) Java Basics - Anfänger-Themen 7
Luk10 Frage zu Compiler-Einstellung Java Basics - Anfänger-Themen 12
B Compiler funzt nicht. Java Basics - Anfänger-Themen 12
A SocketServer und Ahead-Of-Time-Compiler Java Basics - Anfänger-Themen 18
P JAVA Compiler (Javac) Java Basics - Anfänger-Themen 4
M Compiler-Fehler Java Basics - Anfänger-Themen 11
Mike90 Java Compiler funzt nicht Java Basics - Anfänger-Themen 11
J Java Compiler will nicht in der Kommandozeile Java Basics - Anfänger-Themen 5
A Compiler kann das exceptionElement nicht finden Java Basics - Anfänger-Themen 10
M Unterschied zwischen . Compiler und JIT-Compiler,Hotspot-VM Java Basics - Anfänger-Themen 2
M einfache frage zum Jdk-Compiler Java Basics - Anfänger-Themen 3
A compiler gibt nichts aus Java Basics - Anfänger-Themen 12
D JDK Compiler Java Basics - Anfänger-Themen 4
B Fragen zu threads, swing, und dem bytecode compiler, etc. Java Basics - Anfänger-Themen 4
K Warum akzeptiert der Compiler mein Objekt nicht ? Java Basics - Anfänger-Themen 3
F Compiler für mac os x 10.4 Java Basics - Anfänger-Themen 5
S compiler warning Java Basics - Anfänger-Themen 2
A Java error message Was will der Compiler von mir? Java Basics - Anfänger-Themen 6
K Compiler Problem Java Basics - Anfänger-Themen 3
J compiler funktioniert nicht Java Basics - Anfänger-Themen 8
I Compiler ignoriert setSize, setPreferredSize, etc. Java Basics - Anfänger-Themen 14
G jaxb compiler Java Basics - Anfänger-Themen 2
E Compiler-Befehl zum "nicht beachten" von Code Java Basics - Anfänger-Themen 10
B Anfänger mit Compiler-problemen Java Basics - Anfänger-Themen 20
S was passt dem compiler nicht? Java Basics - Anfänger-Themen 2
M Compiler findet main nicht Java Basics - Anfänger-Themen 4
O Compiler-Fehler im Bezug auf Klasse Java Basics - Anfänger-Themen 5
G compiler Java Basics - Anfänger-Themen 16
C Compiler-Fehler Java Basics - Anfänger-Themen 6
S Java Compiler? oder doch der Code? Java Basics - Anfänger-Themen 6
padde479 Compiler-Frage: Was bedeutet deprecated? Java Basics - Anfänger-Themen 4
C Nach Installation kein Java-Compiler Java Basics - Anfänger-Themen 7
R Java verstanden, Compiler nicht Java Basics - Anfänger-Themen 6
M Frage zu Java Compiler Java Basics - Anfänger-Themen 3
A Ant Problem: Unable to find a javac compiler; Java Basics - Anfänger-Themen 4
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6
B Compiler Fehler "{" expected, kann doch nich sein? Java Basics - Anfänger-Themen 9
M kostenloser Java-Compiler? Java Basics - Anfänger-Themen 6
D Was für einen compiler empfehlt ihr? Java Basics - Anfänger-Themen 12
F Compiler-Fehlermeldung LINUX Java Basics - Anfänger-Themen 9
C Compiler-Fehler - bitte um Hilfe Java Basics - Anfänger-Themen 20
H Java-Compiler Java Basics - Anfänger-Themen 5
T System.out.println - Compiler-Fehler Java Basics - Anfänger-Themen 22
C Compiler läuft nicht Java Basics - Anfänger-Themen 6
G Compiler hängt schon wieder Java Basics - Anfänger-Themen 14
E jit-compiler Java Basics - Anfänger-Themen 5
G Windows optimierter Compiler? Java Basics - Anfänger-Themen 5
J suche guten Java-Compiler! Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben