onpsx.de NewsArtikelSpieleFilmeCommunity  
Forum Gruppen  Chat           Team  Podcast  Impressum 
     
Zurück   onpsx Forum > Off Topic > Technik-Ecke

Antwort
 
Themen-Optionen Ansicht
Alt 19.03.2009, 08:37   #41
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Wie gesagt..zeichneKreis ist eine schon vorgegebene Methode, die ich immer nutzen kann. Da hab ich keine Zeile Code selbst zu geschrieben. Und daher kann ich euch keine weiteren Infos zu geben. Aber ich werds gleich mal ein wenig umbauen, vll funktionierts ja dann...
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 09:01   #42
Planet
50% air, 50% water, glass is always full
 
Benutzerbild von Planet
 
Registriert seit: 22.04.2004
PSN Name: PlanetJumble
Beiträge: 18.515
Danke vergeben: 1.726
Danke erhalten: 2.395
PS4 PSVR VITA AND
Standard

Im Methodenaufruf selber kann keine Nullpointerexception entstehen, das muss irgendwo in der zeichneKreis-Methode passieren. Ohne weiteres Material können wir dir da leider nicht helfen. Poste mal den Stacktrace!

@Chrizel: Ich programmiere seit über 20 Jahren und ich sage: Java ist die optimale Sprache für Programmieranfänger!
__________________

Geändert von Planet (19.03.2009 um 09:04 Uhr)
Planet ist offline   Mit Zitat antworten
Alt 19.03.2009, 09:20   #43
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Zitat:
zeichneKreis

public void zeichneKreis(double pRadius) Der Stift zeichnet unabhaengig von seinem Zustand im aktuellen Zeichenmodus einen Kreis mit der aktuellen Position als Mittelpunkt und dem angegebenen Radius. Die Position und die Richtung des Stiftes bleiben unveraendert.
Parameters:pRadius - der Radius des Kreises
Mehr kann ich euch dazu nicht geben. Aber vielleicht könnt ihr mir zumindest sagen, was diese Fehlermeldung bedeutet und dann finde ich es selbst irgendwie. Komisch ist ja, dass es eigentlich funktioniert hat und ich das ganze dann ein wenig verbessern wollte und es nun nicht passt. Das blöde bei BlueJ ist aber, dass der das sofort immer wieder überschreibt...
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 09:49   #44
chrizel
🌟🌟🌟🌟🌟
 
Benutzerbild von chrizel
 
Registriert seit: 21.09.2003
PSN Name: chrizeliq
Beiträge: 9.785
Danke vergeben: 90
Danke erhalten: 307
PS2 PS3 PS4 VITA
Standard

Zitat:
Zitat von Planet Beitrag anzeigen
@Chrizel: Ich programmiere seit über 20 Jahren und ich sage: Java ist die optimale Sprache für Programmieranfänger!
Klar, ich weiss dass du Java-Fan bist, hast du ja hier auch schon irgendwo geschrieben. Aber das ist deine Meinung, ich finde es trotzdem zu kompliziert als Anfaenger damit anzufangen - eben wie gesagt aus den Gruenden weil man gleich am Anfang mit vielen unnoetigen Sachen konfrontiert wird, die fuer einen Programmieranfaenger nur verwirrend sind. Guck dir doch mal den Code von crack-king an -- das ist doch kacke!! (Nix gegen dich, crack-king ) Zugriffsmodifier (private/public)... Package imports... Explizite Typenangaben... waere ich Anfaenger waer mir das zu kompliziert... ok, vielleicht ist crack-king schon weiter, sonst wuerden sie wahrscheinlich nicht schon mit Vererbung rumspielen.

@crack-king: Rueckst du deinen Code nicht ein, oder schreibst du das wirklich so haesslich hin? Ich kann dir empfehlen mit Einrueckung zu arbeiten, das erhoeht die lesbarkeit erheblich. Beispiel:

Code:
import sum.kern.*;

public class Tisch {
    Bildschirm derBildschirm;

    public Tisch(int b) {
        derBildschirm = new Bildschirm(b, b);
    }

    public void fuehreAus() {
    }
}
Und auch mit Leerzeichen wuerde ich nicht zu sparsam umgehen -- nicht alles so zusammenquetschen, Beispiel:
Code:
public void Kollision() {
    if (hPosition() > (800 - 10)) {
        dreheUm(180 - 2 * winkel()); 
    } else if (hPosition() < 0) {
        dreheUm(180 - 2 * winkel());
    } else if (vPosition() > (800 - 10)) {
        dreheUm(360 - 2 * winkel());
    } else if (vPosition() < 0) {
        dreheUm(360 - 2 * winkel());
    }
}
Hast du das Recht den Code incl. dieser sum/*-Pakete vielleicht irgendwo bereitzustellen? (z.B. als ZIP) Dann kann dein Problem vielleicht doch noch gefunden werden?

Zitat:
Aber vielleicht könnt ihr mir zumindest sagen, was diese Fehlermeldung bedeutet und dann finde ich es selbst irgendwie. Komisch ist ja, dass es eigentlich funktioniert hat und ich das ganze dann ein wenig verbessern wollte und es nun nicht passt.
Thrown when an application attempts to use null in a case where an object is required. These include:

* Calling the instance method of a null object.
* Accessing or modifying the field of a null object.
* Taking the length of null as if it were an array.
* Accessing or modifying the slots of null as if it were an array.
* Throwing null as if it were a Throwable value.

Applications should throw instances of this class to indicate other illegal uses of the null object.

http://java.sun.com/javase/6/docs/ap...Exception.html
chrizel ist offline   Mit Zitat antworten
Alt 19.03.2009, 09:56   #45
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Also ich rück schon ein, nur hier ist die Einrückung dann verloren gegangen. Das mit den Leerzeichen stimmt dann schon. Ohne Einrücken wäre das ganze ja noch schlimmer

Also hier kann man sich die Sum.Klasse und damit direkt auch BlueJ runterladen und ausprobieren.
Mein Programm könnt ihr hier herunterladen. Die Klasse Spieler1 wurde gestern nur schnell hinzugefügt, als das ganze noch funktioniert hat Aber jetzt läuft ja gar nichts. Müsste also alles sein, was ihr dafür braucht.
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 10:01   #46
Planet
50% air, 50% water, glass is always full
 
Benutzerbild von Planet
 
Registriert seit: 22.04.2004
PSN Name: PlanetJumble
Beiträge: 18.515
Danke vergeben: 1.726
Danke erhalten: 2.395
PS4 PSVR VITA AND
Standard

Ich vermute, dass die verlangte "aktuelle Position" nicht gesetzt (== null) ist. Dann wäre die nichtssagende Fehlermeldung aber sehr leicht vermeidbar gewesen.

Egal, was die Ursache ist: du darfst dem Autor der Methode von mir gerne ausrichten, dass er mal Programmieren lernen sollte, bevor er es jemand anderem beibringen möchte.

Und sollte das eine Funktion aus einer heruntergeladenen Lernbibliothek sein, dann um so schlimmer. Mit so einem Kram Programmieren zu lernen grenzt an "Rate mal mit Rosenthal". Warum muss man unbedingt grafisch anfangen?

@Chrizel: Zugriffsmodifizierer sind ein elementarer Bestandteil der Objektorientierung. Und Objektorierntierung begünstigt sauberen Programmierstil. Solange man nicht mit Kommandozeilencompiler und Classpath-Gedöns anfängt, sind die Einstiegshürden für Java sogar sehr niedrig. Du kannst ja mal mit C++ anfangen lassen...

EDIT: OMG - jetzt sehe ich es. Es ist tatsächlich diese SuM-Bibliothek.
__________________

Geändert von Planet (19.03.2009 um 10:07 Uhr)
Planet ist offline   Mit Zitat antworten
Alt 19.03.2009, 10:44   #47
Papa Justify
Administrator
 
Benutzerbild von Papa Justify
 
Registriert seit: 07.09.2007
Ort: Wolfsburg
PSN Name: Papa_Justify
Beiträge: 4.516
Danke vergeben: 23
Danke erhalten: 87
PS1 PS2 PS3 PS4 VITA 3DS PC MAC iPhone
Standard

Ich hab sie sogar installiert

Aber begreife einer mal dieses BlueJ - Teil: keine Option zum Ausführen des Java-Programms nur so eine Option "Übersetzen" wobei sich mir jetzt nicht erschließt ob es sich dabei um das "kompilieren" handelt. Hab dann versucht aus crack-kings Pong-Programm eine .jar-Datei zu machen um es wenigstens mal ausführen zu können.

Aber das Programm hat ja nichtmal ne main-Methode zum Einstieg :OOO Ich frage mich, wie du da überhaupt irgendwas rausbekommen hast, an Fehlermeldungen
Papa Justify ist offline   Mit Zitat antworten
Alt 19.03.2009, 10:54   #48
chrizel
🌟🌟🌟🌟🌟
 
Benutzerbild von chrizel
 
Registriert seit: 21.09.2003
PSN Name: chrizeliq
Beiträge: 9.785
Danke vergeben: 90
Danke erhalten: 307
PS2 PS3 PS4 VITA
Standard

Zitat:
Zitat von Planet Beitrag anzeigen
@Chrizel: Zugriffsmodifizierer sind ein elementarer Bestandteil der Objektorientierung.
Ok, lass mich klugscheissen, ich sage dir - Zugriffsmodifier sind IMHO kein elementarer Bestandteil der Objektorientierung. Klar, es ist ein Bestandteil von dem was dir ein paar Sprachen wie Java, C++, Ruby oder Objekt Pascal anbieten. Aber in Smalltalk gibt es z.B. keine Zugriffsmodifier, und du weisst bestimmt welche Rolle Smalltalk in der Geschichte der OOP Sprachen gespielt hat. Python hat auch keine Zugriffsmodifier... dort basiert vieles dann eher auf Konventionen (z.B. Underscore vor die Methodennamen) und nicht auf Sprachfeatures.

Klar, jetzt kommst du mit Argumenten wie "Aber Zugriffsschutz ist wichtig" und "Es macht Sinn, vor allem bei groesseren Projekten"... ja, aber ich finde es trotzdem nicht relevant fuer einen Anfaenger die Programmierung lernen wollen.

Auch finde ich Objektorientierung ganz am Anfang nicht relevant fuer einen Anfaenger. Die Leute sollten eher erst mal lernen wie ein Computer funktioniert, was Variablen, Fallunterscheidungen und Schleifen sind -- Funktionen schreiben koennen, ohne Klassen schreiben zu muessen (!) -- und erst dann kann man ueber Konzepte wie OOP nachdenken...

Desshalb verstehe ich ueberhaupt nicht, wie man Java als "einfach" bezeichnen kann. Klar ist C++ nochmal ein Stueck komplexer. Und OOP wird auch viel zu stark ueberschaetzt -- evtl. waere es besser mit funktionaler Programmierung anzufangen, weil es sauberer und logischer ist wenn man nur mit mathematischem Wissen von der Schule daherkommt.

Ist natuerlich alles IMHO.

Am Ende bleibt es eh egal -- jemand der sich wirklich fuer Programmierung interessiert, muss sich sowieso alles mal anschauen und alles irgendwie lernen.
chrizel ist offline   Mit Zitat antworten
Alt 19.03.2009, 12:29   #49
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Zitat:
Zitat von Papa Justify Beitrag anzeigen
Ich hab sie sogar installiert

Aber begreife einer mal dieses BlueJ - Teil: keine Option zum Ausführen des Java-Programms nur so eine Option "Übersetzen" wobei sich mir jetzt nicht erschließt ob es sich dabei um das "kompilieren" handelt. Hab dann versucht aus crack-kings Pong-Programm eine .jar-Datei zu machen um es wenigstens mal ausführen zu können.

Aber das Programm hat ja nichtmal ne main-Methode zum Einstieg :OOO Ich frage mich, wie du da überhaupt irgendwas rausbekommen hast, an Fehlermeldungen
Also mit BlueJ kann man die Klasse Hauptprogramm selbst ausführen und dann zeigt er auf einmal auch an, dass dort nen Fehler ist. Vorher nicht...Und das übersetzen prüft wohl nur ob genügend Klammern da sind, i-welche Variablen noch nicht initialisiert wurden usw. Ob es wirklich funktioniert, sagt dir das Ding aber auch nicht.

@Rest

Ich hab keinen Plan wovon ihr spricht..Nur Objetkorientiertes Programmieren hab ich schonmal gehört, wobei ich da bislang noch nicht ganz durchgestiegen bin. Der Lehrer macht das alles nur so oberflächlich und 90% der Klasse hat keinen Plan davon, was wir machen...
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 16:45   #50
Papa Justify
Administrator
 
Benutzerbild von Papa Justify
 
Registriert seit: 07.09.2007
Ort: Wolfsburg
PSN Name: Papa_Justify
Beiträge: 4.516
Danke vergeben: 23
Danke erhalten: 87
PS1 PS2 PS3 PS4 VITA 3DS PC MAC iPhone
Standard

Nun crack-king,

das Programm passt hinten und vorne nicht! Selbst in der BlueJ Anleitung steht, dass man eine main-Methode braucht um es zu starten. In der Hauptprogramm-Klasse ist aber nichts dergleichen. Weiß gar nicht, wie du das so zum Laufen kriegst!
Papa Justify ist offline   Mit Zitat antworten
Alt 19.03.2009, 17:55   #51
spy
What If You Fall In
 
Benutzerbild von spy
 
Registriert seit: 12.06.2006
Ort: Unterfranken
PSN Name: spynose
Spielt gerade: Lost Legacy, BFII, Hitman
Beiträge: 12.593
Danke vergeben: 457
Danke erhalten: 461
PS4 SWITCH MAC iPhone
Standard

Zitat:
Zitat von crack-king Beitrag anzeigen
Ich hab keinen Plan wovon ihr spricht..Nur Objetkorientiertes Programmieren hab ich schonmal gehört, wobei ich da bislang noch nicht ganz durchgestiegen bin. Der Lehrer macht das alles nur so oberflächlich und 90% der Klasse hat keinen Plan davon, was wir machen...
Macht dann wohl keinen Sinn mit Java anzufangen

@chrizel und Planet
Ich durfte mit Java anfangen an der Uni und der Anfang war nur wtf!!!!!
Mittlerweile steig ich da durch, aber stimmt schon den ganzen Kram braucht man eigentlich nicht um erst Mal zu lernen, was Arrays sind und wie Schleifen funktionieren usw.

@crack-king
Ist die Main dann in dem Paket vom Lehrer oder was? Was ist das für ne Scheiße? Und BlueJ? Dann kann man auch gleich mit Editor und Konsole anfangen.

Benutzt ihr eigentlich Eclipse zum Arbeiten?
spy ist gerade online   Mit Zitat antworten
Alt 19.03.2009, 19:36   #52
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Main? WTF?

Im Hauptprogramm gibts doch die Methode fuehreAus. Jetzt übersetzt du mit BlueJ ersteinmal alles und dann rechtsklick auf die Klasse Hauptprogramm und dann auf "New Hauptprogramm". Dann müsste ein Bildschirm erscheinen und unten links im BlueJ Fenster ein roter Kasten. Darauf klickste mit rechtsklick und dann wählste die Methode fuehreAus aus.
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:17   #53
Papa Justify
Administrator
 
Benutzerbild von Papa Justify
 
Registriert seit: 07.09.2007
Ort: Wolfsburg
PSN Name: Papa_Justify
Beiträge: 4.516
Danke vergeben: 23
Danke erhalten: 87
PS1 PS2 PS3 PS4 VITA 3DS PC MAC iPhone
Standard

Sorry, aber diese SuM-Bibliothek ist ein einziger FAIL!

Habs jetzt hinbekommen einen Kreis zu zeichnen um danach beim Löschen gleich wieder bei einem NullPointer zu landen. Das Paket steckt voller Fehler! Oder es ist zu kompliziert und umständlich! PFUI!
Papa Justify ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:18   #54
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Tja, und ich darf mich damit Stunde für Stunde in der Schule rumschlagen
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:21   #55
Shadoxaxis
Sleepwalking
 
Benutzerbild von Shadoxaxis
 
Registriert seit: 23.07.2007
Beiträge: 619
Danke vergeben: 0
Danke erhalten: 2
PS3 NDS PC AND
Shadoxaxis eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von crack-king Beitrag anzeigen
Tja, und ich darf mich damit Stunde für Stunde in der Schule rumschlagen
Ein Grund, warum ich Informatik nach der 10 abwähle
Shadoxaxis ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:23   #56
spy
What If You Fall In
 
Benutzerbild von spy
 
Registriert seit: 12.06.2006
Ort: Unterfranken
PSN Name: spynose
Spielt gerade: Lost Legacy, BFII, Hitman
Beiträge: 12.593
Danke vergeben: 457
Danke erhalten: 461
PS4 SWITCH MAC iPhone
Standard

Zitat:
Zitat von crack-king Beitrag anzeigen
Main? WTF?
Die main Methode ist immer der Anfangspunkt. Die steckt in der Hauptklasse drin, die man ausführt um ein Programm zu starten. Dort kreiert man seine ersten Objekte, zB ein Fenster mit Pong drin.
spy ist gerade online   Mit Zitat antworten
Alt 19.03.2009, 20:25   #57
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Ja wäre dann doch dieses fuehreAus oder?
crack-king ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:28   #58
Papa Justify
Administrator
 
Benutzerbild von Papa Justify
 
Registriert seit: 07.09.2007
Ort: Wolfsburg
PSN Name: Papa_Justify
Beiträge: 4.516
Danke vergeben: 23
Danke erhalten: 87
PS1 PS2 PS3 PS4 VITA 3DS PC MAC iPhone
Standard

Zitat:
Zitat von spynose Beitrag anzeigen
Die main Methode ist immer der Anfangspunkt. Die steckt in der Hauptklasse drin, die man ausführt um ein Programm zu starten. Dort kreiert man seine ersten Objekte, zB ein Fenster mit Pong drin.
Das Ding funktioniert tatsächlich ohne main-Methode, da man über das Programm eine neue Instanz seiner Klasse "Hauptprogramm" erzeugt!
Hab dann ein bisschen gedebuggt und festgestellt, dass der "Bildschirm" nicht initiiert war, hab das geändert, konnte einen Kreis zeichnen und wurde dann beim Löschen und erneutem Kreiszeichnen wieder auf nem NullPointer gelandet!

Also nein.. und dann gibt der Typ in dem Paket nichtmal den Quellcode mit.. ist dem wahrscheinlich selbst zu peinlich!
Papa Justify ist offline   Mit Zitat antworten
Alt 19.03.2009, 20:32   #59
crack-king
Administrator
 
Benutzerbild von crack-king
 
Registriert seit: 07.01.2007
Ort: Pusemuckel
Beiträge: 40.830
Danke vergeben: 3.608
Danke erhalten: 3.653
PS4 PSVR VITA SWITCH PC AND
Standard

Und bei mir will der momentan nichtmal nen Kreis zeichnen...Und in der Schule gibts jedes mal die selben Probleme! Das DIng ist einfach schrott. ICh weiß noch letzte Stunde hab ich meinen Code vorgestellt und der Rest sollte das dann so implementieren. Bei 50% lief es nicht Das Ding ist ein einziger großer Fehler, aber der Lehrer lässt sich nicht umstimmen.
crack-king ist offline   Mit Zitat antworten
Alt 20.03.2009, 07:38   #60
spy
What If You Fall In
 
Benutzerbild von spy
 
Registriert seit: 12.06.2006
Ort: Unterfranken
PSN Name: spynose
Spielt gerade: Lost Legacy, BFII, Hitman
Beiträge: 12.593
Danke vergeben: 457
Danke erhalten: 461
PS4 SWITCH MAC iPhone
Standard

Zitat:
Zitat von crack-king Beitrag anzeigen
Und bei mir will der momentan nichtmal nen Kreis zeichnen...Und in der Schule gibts jedes mal die selben Probleme! Das DIng ist einfach schrott. ICh weiß noch letzte Stunde hab ich meinen Code vorgestellt und der Rest sollte das dann so implementieren. Bei 50% lief es nicht Das Ding ist ein einziger großer Fehler, aber der Lehrer lässt sich nicht umstimmen.
Zeig ihm mal dieses Forum, damit er mal lesen kann, wie man es richtig macht. Vielleicht sollte er mal ein richtiges Javabuch lesen, zB Java Core.

Frag ihn mal, ob er weiß was ne Main Methode ist und das ihr das so machen wollt. Viel mehr Aufwand macht das auch nicht, sieht immer so aus:

Code:
public static void main(String [] args) {

}
Da muss man sich nicht viel merken, außer dass in der geschweiften Klammer der Code steht, der ausgeführt wird, wenn man das Programm startet. Wie man das startet, ist wieder ein anderes Ding, aber eine der ersten Lektionen, die man lernen sollte, wenn man mit Java anfängt.
spy ist gerade online   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr.


Powered by vBulletin®
Copyright ©2000 - 2011, Jelsoft Enterprises Ltd.