Ben2013
-
Gesamte Inhalte
28 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Ben2013
-
-
Ja ich weiß, man soll Packages benutzen.
Aber geht's auch ohne?
default.abc
??
-
Daraus lese ich, dass wenn eine Klasse keinem Package zugewiesen wird keinen vollständigen Klassennamen hat.
Beispiel:
Es gibt die Klassen "abc" und "def"
Wir befinden uns in der klasse abc
/**
*@see abc test
*@see def testtest
*\
public void test()
{
...
}
Dann wird in der Dokumentation abc und der in anderer schriftart angezeigt, aber nur abc (die klasse selbst) ist per Hyperlink zu erreichen (wenig sinnvoll, da man sich schon in dieser dokumentation befindet)
-
Ebenso solltest Du Dir angewöhnen, dass Du auch die entsprechenden Meldungen angibst, die Dein Code produziert.ArrayIndexOutOfBounds Exceptions
------------------------------------------------------------------------------------------------
Ich gehe davon aus, dass Dein Code mehrere semantische Fehler enthältumgehbar mit try-catch-block und while schleife außenrum gelegt.boolean lFehler = true; int Ergebnis1 = 0; int Ergebnis2 = 0; int [] lArray; while(lFehler) { try { lFehler = false; lErgebnis1 = 2+3; lArray = new int [lErgebnis1]; lErgebnis2 = 2+3; lArray[lErgebnis2] = 37; // hier tritt ab und zu eine ArrayIndexOutOfBounds Exception auf } catch(Exception e) { lFehler = true; } }
mit while schleife
und try-catch-block funktioniert ales.
-> ab und zu wird 2+3 anders berechnet
--> und dann wieder nicht
-
Hi,
wie ist der vollständige Klassenname von selbst geschriebenen Klassen?
siehe z. B.
Java ist auch eine Insel – 6.15 Dokumentationskommentare mit javaDoc
@see
Die Tabelle hab ich schon überall gefunden, aber nie was der vollständige Name ist
Also so weit ich mich erinnern kann hat das auch was mit dem Package zu tun.
a) wie heißt das wenn sich die klasse in einen Package befindet
gehts auch ohne Package
-
Es war schon wichtig, dass das Array genau die Größe hat, sodass es ganz gefüllt ist.
Aber ich hab das Problem anders gelöst.
(Vorheriges Bestimmen der Arraygröße)
(nicht lachen Das war von Anfang an der Quellcode, der aber ab und zu ArrayIndexOutOfBounds Exceptions geworfen hab.)
Und da hätte ich gleich noch eine Frage:
Wie kann das passieren?
sieht ungefähr so aus:
int lTest = 0; for(alle zahlen überprüfen) { if(gerade zahl) { lTest++; } } erstelle array der größe lTest for(alle zahlen überprüfen) { if(gerade zahl) { greife auf das Array zu } } das wirf gelegentlich die Exception umgehbar mit try-catch-block und while schleife außenrum gelegt.
Also rein mathematisch kann keine Exception auftreten.
Und bei wiederholtem rechnen tritt auch keine mehr auf.
Frage: Ist das normal? Wie oft tritt das in der Praxis/Realität auf?
-
nein
gibt es dafür in irgendeiner klasse eine Methode?
-
-
hab das Problem aber schon so gelöst, dass ich die dauerschleife aus der run methode genommen hab
siehe:
Also ich bin schon mit diesem Problem fertig.
Nur scheinen hier einige nicht zu verstehen, dass wenn ich der Aufgabenstellung steht "erzeuge x threads" dass ich dann auch x threads erzeuge
-
Wie realisiere ich ein wachsendes Array?
Ich probiere schon seid Tagen mit den Klassen Arrays, LinkedList, ArrayList und natürlich normalen Arrays herum.
Ziel:
-double[n] [2]
n=0:
-wenn XYZ erfüllt ist, "hänge" eine neue zeile an
double[1] [2]
n=1:
-wenn XYZ erfüllt ist, "hänge" eine neue zeile an
double[2] [2]
n=2:
-wenn XYZ erfüllt ist, "hänge" eine neue zeile an
double[3] [2]
n=n:
-wenn XYZ erfüllt ist, "hänge" eine neue zeile an
double[n+1] [2]
-
-
Wieso darf überhaupt der User Kontrolle darüber haben wie viele Threads im System laufen? Auf welcher fachlichen Grundlage kannst Du das rechtfertigen? Die Anzahl der Threads ist abhängig von der Hardware und es Algorithmus, nicht von der Laune des Users.
Stell dir folgendes vor (auch wenn es totaller schwachsinn ist):
auf dem bildschirm ist eine Weltkarte
der benutzer wird gefragt, wie viele uhren (mit der lokalen uhrzeit am erzeugten Ort)
der benutzer gibt "10" ein -> es werden 10, zufällig auf der karte verteilte, uhren erzeugt, die ihre uhrzeit anzeigen
der benutzer gibt "100" ein -> es werden 100, zufällig auf der karte verteilte, uhren erzeugt, die ihre uhrzeit anzeigen
der benutzer gibt "1000" ein -> es werden 1000, zufällig auf der karte verteilte, uhren erzeugt, die ihre uhrzeit anzeigen
...
da alle uhren threads sind (in meinem programm übertragen) entscheidet der user wie viele threads es gibt.
-> JA, ich hab es schon geschafft den ganzen Mac lahm zu legen
Ging nur noch Maus (komischer weise) und powerschalter
-
mmh
keine Ahnung
vielleicht ist es ja unter OSX 10.8.3 schlechter geworden
-
Ja genau sowas hätte gereicht. Aber deine Lösung geht nichtVielleicht so ???Ich poste einmal eine Antwort in Deiner Form und hoffe Du verstehst, wie ich es meine.
while(Benutzer hat Lust auf den knopf zu drücken) { /* Erstelle 100 Objekte von Threads */ /* 100 mal TObj.start(); */ /* 100 mal TObj.stop(); */ /* Programm beenden */ }
while(Benutzer hat Lust auf den knopf zu drücken) { -Benutzer erzeugt 100 Threads. -Programm fertig -Threads werden nicht mehr gebraucht }
da hier kein "beenden" steht, heißt das, dass das programm noch nicht beendet wird
Sowohl mit .interrupt(), als auch mit .stop() [ja veraltet ich weiß]zeigt mir mein CPU 100, 200, 300, 400, 500 Threads an und ist entsprechen überlastet
siehe auch hier .stop hat nicht funktioniert
hab das Problem aber schon so gelöst, dass ich die dauerschleife aus der run methode genommen hab
siehe:
Danke für das mit dem Abbrechen. Hab meine Schleife noch mal überdacht und denke dass ich sie überarbeiten kann.------------------------------------------------------------------------------
Weder in der Schule, noch in der Ausbildung, noch im Studium oder im Berufsleben ist mir so eine Aufgabe untergekommen, in der verlangt worden wäre 500 Threads zu erzeugen. Das ist sowohl von theoretischer, wie auch praktischer Sicht völlig sinnlos.Es werden so viele Threads erzeugt, wie der Benutzer Lust hat. Ich finde das kann man aus der schleife auch erkennen.
------------------------------------------------------------------------------
Ich formuliere es mal in Bezug auf Deinen anderen Thread http://www.fachinformatiker.de/java/...bt-stehen.html so, dass Dein Lösungsalgorithmus extrem ineffizent ist und Du versucht durch "technische Spielerei (Threads)" die Ineffizienz zu lösen. Sofern Du also hier nicht bereit bist mehr Details zu dem Problem zu zeigen, wird man Dir nicht helfen können.Nein, ich versuche keine Ineffizienz zu lösen. siehe einen punkt hier drüber
Es werden so viele Threads erzeugt, wie der Benutzer Lust hat. Ich finde das kann man aus der schleife auch erkennen.------------------------------------------------------------------------------
Ich kann die Schulform nur erraten: Baumschule *g
Es ist keine Schul-, Ausbildungs-, Studiums- oder Berufs-aufgabe
PS: Schulform bleibt geheim. Ich halte viel von Anonymität im internet
-
BlueJ und groß passt nicht so recht zusammen. Das ist wie Hausbau mit Eimerchen und Schäufelchen. Was ist denn "recht groß", so in Codezeilen?
Damit war gemeint, dass er relativ oft durchlaufen wird
Geht so. Du hast 10.000.000 Zeilen geschätzt, es waren aber wohl nur etwa 600.000.-.- (155.000 Zeilen übrigens wird doch sogar angezeigt)
Jedenfalls ist das keine Datenmenge, mit der irgendeine Konsole irgendwelche Schwierigkeiten haben sollte. Das Problem liegt wohl in deinem Code.Hat sie aber. Einfacher beweis: ohne Konsolenausgabe funkt alles
-> Das ursprüngliche Problem ist gelöst.
-->
Ohne Ausgabe funkt allesÜber eine Erklärung würde ich mich trzd. freuen
-
Die Konsolenausgabe war auch nur zur Kontrolle des Programms gedacht.
Jetzt hat man grade die passende Version gefunden, will die Ausgabe kopieren und im Word auszählen lassen...
Word gibt die Fehlermeldung: "Der Arbeitsspeicher reicht nicht aus um den Vorgang abzuschließen"
Daten ge-4-telt:
Und einzeln kopiert.
10.000.000 war überraschend gut geschätzt... :cool:
-
Nein 500 Threads machen keinen Sinn (siehe die theoretische Grundlage Amdahlsches Gesetz )
Ich versteh die Aufgabenstellung so
Da Du Java Anfänger zu sein scheinst (aufgrund Deiner anderen Threads), rate ich ganz dringend dazu, dass Du erst einmal verstehst, wie Java arbeitet, bevor Du hier mit Threads und Nebenläufigkeiten arbeitest.Dass Du den Begriff Mutex nicht kennst, zeigt dass Du keine Vorstellung hast, wie überhaupt Threadding i. Allgm. funktioniert.
3 Jahre Schulinformatik -> 1 Demo-Programm zum Threading
Schon wieder ein Beitrag, bei dem man raten soll, was Du machst oder zu tun gedenkst.Oftmals hilft der Quellcode der Problemzone bei der Aufklärung und erleichtert den etwaigen Hilfeleistenden die Arbeit.
Würd' ich glatt posten, nur darf ich das nicht.
Und: Wieso raten? Denke das ist ziemlich eindeutig:
while(Benutzer hat Lust auf den knopf zu drücken) { -Benutzer erzeugt 100 Threads. -Programm fertig -Threads werden nicht mehr gebraucht }
Es werden viele Theras erstellt -> die werden nicht mehr benötigt -> bestehen weiter
-
Abfrage mit Textfeldern und Auswahlboxen über den Bildschirm
(Also ich programmier mit BlueJ und mit den eigenen Klassen davon, hab also von java-Klassen nicht so viel Ahnung)
-
-
Der Algorithmus funktioniert ja schon (bzw. hat funktioniert)
Steuerklasse meinte die Klasse, die die Threads erzeugt und startet.
Und ja die vielen Threads haben sinn, da sie zu unterschiedlichen Zeitpunkten erzeugt werden und immer die sleep Methode aufruhen.
Danke für das mit dem Abbrechen. Hab meine Schleife noch mal überdacht und denke dass ich sie überarbeiten kann.
Was ist das?Mutex -
Hi,
ich hab mal ein paar Fragen zu Threads.
1. Wie kann ich Threads löschen?
Beispiel:
while(Benutzer hat Lust auf den knopf zu drücken)
{
-Benutzer erzeugt 100 Threads.
-Programm fertig
-Threads werden nicht mehr gebraucht
}
Sowohl mit .interrupt(), als auch mit .stop() [ja veraltet ich weiß]
zeigt mir mein CPU 100, 200, 300, 400, 500 Threads an und ist entsprechen überlastet
2.
Alle 100 Threads rufen die gleiche Methode in der Steuerklasse aller Threads auf.
-> Die Threads beeinflussen sich jetzt gegenseitig beim ändern von Variablen in der Steuerklasse oder? (Wenn nein hab ich ein anderes problem)
-
@flashpixx: javabeginners ist doch meine leiblingsseite
(bei programm start durch die entwicklungsumgebung geht auch meine main Methode, aber ja vlt sollte das nicht sein)
@uenetz: bin mir sicher deins ist eine wurderbare Lösung...
habs jetzt trzd. anders gemacht (war mir zu kompliziert)
-
Und zweitens:
Kann ich standardmäßig Eine eingabe haben?
Also im ersten Code: pAnzahl soll 10 sein
-
Hi,
ich möchte in meiner Main-Methode einige Parameter eingeben.
public static void main(int pAnzahl) { SuMAnwendung hatSuMAnwendung = new SuMAnwendung(pAnzahl); hatSuMAnwendung.fuehreAus(); }
funkt auch. Meine Frage: Wie gestalte ich das mit boolschen-Variablen? Kann ich dort eine Auswahl angeben?public static void main(boolean pMoechtestDuEinenApfel) { SuMAnwendung hatSuMAnwendung = new SuMAnwendung(pMoechtestDuEinenApfel); hatSuMAnwendung.fuehreAus(); }
Jetzt soll aber nicht "true" oder "false" GETIPPT werden, sondern per Klick aus ausgewählt werden.
"true" und "false" wären dann die einzig beiden Möglichkeiten der Eingabe.
-
Ich habe in BlueJ einen recht großen Algorithmus geschrieben.
Eine Ausgabe ist auch kein Problem.
Nur werden Sehr viele erzeugt.
Wie viele kann ich leider nicht sagen, aber geschätzt würde ich sagen, dass bei der 10.000.000sten Zeile abgebrochen wird.
Laptop/Notebook/Tablet in 1 - mit Handschrifterkenner (Stift) auch mathematische Zei.
in Hardware
Geschrieben
Hi,
also ich bin mir noch nicht so sicher, was ich suche.
Wahrscheinlich am besten, wenn ich schreibe, was ich damit vorhabe.
a) Ich will ES auf den Tisch legen und mit dem Stift drauf schreiben, dabei sollte meine Schrift erkannt werden und in Computerschrift dargestellt werden. Es wird sich dabei nicht nur um das lateinische Alphabet handeln. Sondern auch mathematische Zeichen (logisches und, oder, ...) und Zeichnungen.
drauf programmieren.
-> Ergibt sich eben aus einem Mathematik und Informatik Studium.
-------
Normaler Laptop: kann man nicht auf dem Screen schreiben
___________________________________________________________________________________________
Laptop mit Touchscreen: lässt sich schlecht(garnicht) drauf schreiben
___________________________________________________________________________________________
Laptop mit abnehmbaren Touchdisplay: denke sollte gehn oder?
___________________________________________________________________________________________
Laptop mit umgreh- & zusammenklappbarem Touchdisplay: sollte gehn oder?
oder
___________________________________________________________________________________________
Tablet: schlecht zum programmieren? oder gibts da Lösungen? WLAN-Tastatur?