If und while sind zwei paar Schuhe !
Um den DarkInferno ein wenig zu verteidigen...
Ich bin mir sicher dass er genau auf das hinauswollte
Thomas
If und while sind zwei paar Schuhe !
Um den DarkInferno ein wenig zu verteidigen...
Ich bin mir sicher dass er genau auf das hinauswollte
Thomas
if Schleife
Da klingelt die Fluchkasse?
Suchst du sowas:
?
Thomas
Achtung die Pastes Client und GUI sind nicht mehr aktuell. Bei Bedarf laden wir den aktuellen Stand hoch.
Server und Client spielen jetzt zusammen.
Zunächst würden wir gerne wissen, wie der Server am besten mehrere Sprechkanäle bereitstellen kann, die vom Client genutzt werden können.
Ihr haltet euch mit euren infos wirklich zurück, entweder ihr wisst nicht genau was überhaupt zu realisieren ist oder ihr wollt es nicht sagen.
Die "Sprechkanäle" sind über TCP handzuhaben? oder über UDP? oder ganz was eigenes?
Gehts nur ums managen dass nichts kollidiert oder gehts um kommunikation zwischen dem server/client?
Thomas
1) Der Titel ist etwas unpassend, ist ja kein konkretes Java-Problem
2) Ist es hier im Forum (bzw in allen Foren) Usus keine fertigen Lösungen zu "mach meine Hausaufgabe" anzugeben
Versuchen wir mal das Problem zu vereinfachen,
wenn ich das alles richtig versteh gehts darum das array "distanzen" in anzTage Partitionen aufzuteilen,
Bekannt ist:
dist[0-v[0]] = erster Tag
dist[v[ende]-ende] = letzter Tag
dazwischen die partitionierungen, die liesen sich dann zB mit 0/1-mengen darstellen
Zu deiner Angabe noch eine Frage, müsste es nicht {1,3} sein?
Thomas
mir ist es peinlich null Ahnung zu haben aber halt beim Anfang wird wahrscheinlich bei vielen so sein.
Jeder fängt mal an, also es ist normal am Anfang keine Ahnung zu haben und das muss dir auch nicht peinlich sein.
Hab dein Post gerade gesehen, bedanke mich auch bei dir
Für sowas gibts im Forum einen Thanks-Button
Thomas
da ich fast keine Erfahrung mit Java habe, tue ich auch schwer beim Verstehen, worum es wirklich handelt, hier ist d. Code:
Für Code gibts hier den Code-Tag!
[/ Code], ohne Space nach dem Slash.
Um solche Fehler besser umgehen zu können wäre ein:
[Code]
if(args.length < 3)
{
System.out.println("Not enough arguments!");
return;
}
am Anfang der main-Methode angebracht
Thomas
€: Klammern bei length gesetzt.
java.lang.ArrayIndexOutOfBoundsException: 1 at EchoNumbers.main ( EchoNumbers.java:6)
Wie der vorposter schon gesagt hat, und wie der name der exception eigentlich schon sagt der Index ist OutOfBounds (ausserhalb der grenzen), [tex='\ge'][/tex]
length oder <0
Um dir genauer sagen zu können was dein Problem ist müsstest du schon quellcode posten, aber wenn du dir Zeile 6 genau ansiehst wirst du gewiss auf den Fehler stossen!
Thomas
Hallo. Ich wollte mitteilen, dass mein Problem gelöst ist.
Ich kann das Programm mit Doppelklick(Jedit) nicht öffnen,
ich muss einen Rechtsklick auf die Datei machen, 7zip wählen und extract here wählen.
Im Vergleich dazu lässt sich die Nessi datei sehr wohl mit Doppelklick öffnen.
Speichern ist jetzt auch möglich.
Frei der Annahme davon ausgehend dass man bei "Doppelklick" auf .jar Files diese mit javaw standardmäßig ausführt, ist dies klar.
(.jar Files sind normal die compilierten Klassen komprimiert und ausführbar, mit java -jar <jarfile>)
In dem Fall wurde das jar Format aber nur zum komprimieren benutzt, ergo nicht ausführbar, darum will javaw es dann auch nicht ausführen, darum musst du es vorher entpacken und hast dann in irgendeinem Ordner die entpackten .java Files die du dann bearbeiten kannst.
Thomas
STRG+C unter Win
[CTRL]+[C] ist (wie unter Linux) das Abbrechen von ausgeführten Programmen (SIGINT)
mir geht es aber um Wikipedia-Link
Thomas
Mit [CTRL]+[D] (unter win afaik [CTRL]+[Z]) die Eingabe beenden?
Thomas
ok jetzt hat sich was verändert: ich kann jetzt speichern, aber nicht in jedem verzeichnis. wenn ich es im java/jeditvezeichnis speichern will,
kommt die fehlermeldung:C:\Program Files\jEdit\Ex02:
Cannot save: java.io.FileNotFoundException: C:\Program Files\jEdit\#Ex02#save# (Zugriff verweigert)Ich kann meine Programme mit dem befehl java (statt javac) convertieren, aber er findet die dateien nicht.
muss ich sie mit java ex02.exe oder java ex02.dat oder java ex02 compilieren?
Du solltest auch nicht unter C:\Program Files\* arbeiten, sondern zB am Deskop einen Ordner anlegen und die dateien darin bearbeiten/kompilieren!
für ein File wie:
Thomas
Leider ist das Problem nicht behoben.
Als ich den Download öffnen will, erschein folgende nette Meldung:
"Dieses Installationspaket wird auf dieser Plattform nicht unterstützt, wenden sie sich an den Hersteller des Produkts."Danach habe ich Ubuntu installiert, aber da ging der Zirkus von vorne los, da bin ich an der Installation des flash plugin bereits gescheitert.
Auch jedit habe ich nicht installieren können. Ich werd am Montag ins Informatiklabor gehen, hoffentlich kann mir da einer helfen.
Ein Freund hat mir eclipse nahegelegt, ich hoffe diese Installation verläuft besser.
Hast du ein 64bit oder 32bit system?
[Alt]+[F2] > gnome-terminal
Eclipse ist für eprog vermutlich nicht der richtige anfang (bei den tests gibts dann kein eclipse)
Unter gnome gibts im übrigen noch gedit ( [Alt]+[F2] > gedit ), mein Favorit
Thomas
Das ist eigentlich kein Bug sondern ein Sicherheitsfeature. Nur Administratoren dürfen Programme installieren, Benutzer nicht. Um es dauerhaft loszuwerden kannst du dich selbst zur Gruppe der Admins hinzufügen und dann die UAC abschalten.
Er meinte er braucht schon zum Abspeichern einer Datei (der Installer? oder ein Java-File?, ich vermute Installer) Admin Rechte...
Klingt eher danach als würde er den Installer/das File in einen der ge-Sicherheitsfeature-ten Ordner zu speichern.
There are no bugs, there are only features!
Thomas
ad 1) Das kann ich dir so leider nicht beantworten, gibts nicht einfach einen simplen Windows-Installer der das alles von selbst managed?
ad 2) Ich nehme an das File das du heruntergeladen hast ist ein .jar oder ein .zip, das solltest du erst mal entpacken, unter Windows wohl etwas wie 7zip Windows-Installer
ad 3) Das dein gewähltes Encoding nicht passt, könnte eben sein weil du ein .zip/.jar (Binary) öffnest.
Nach dem entpacken solltest du die .java-Dateien mit dem JEdit öffnen können.
linux ftw. scnr
Thomas
Punkto der Hausübung sei eventuell noch auf Assertion (u.a. Vor/Nachbedingungen) verwiesen. (In den Folien wohl etwas dürftig behandelt)
Thomas
Alles anzeigenHallo,
ich habe folgendes Problem: ich soll einen Maxon Elektromotor ansteuern, der ein bestimmtes Geschwindigkeitsprofil fahren soll. Das ganze soll mit LabWindows erfolgen. Mit dem Programm hab ich davor leider noch nie was zu tun gehabt.
Die Kommunikation mit dem Motor klappt auf jeden fall schonmal, da gibts nen Beispielprogramm von Maxon auf deren hp, allerdings ist das seeeeeeehr dürftig kommentiert, und von den Funktionen her auch richtig schwach. Das Drehzahlprofil, dass der Motor fahren soll ist trapezförmig, also erst linear steigend, dann konstant, und dann wieder linear fallend. Das hauptproblem, dass ich momentan habe ist, dass ich mich nicht mit Zeitfunktionen auskenne. Die Rampe beim Anfahren/Bremsen soll so exakt wie nur irgend möglich eingehalten werden, also es reicht nicht zu sagen "nach 0,3 Sekunden bitte 1200 Touren" , und was das Ding in der Zwischenzeit macht ist egal, sondern das soll kontinuierlich beschleunigen. D.h. man muss das ganze in kleine Stückchen zerlegen (z.b. 10 ms - Intervalle), und nach jedem Intervall dem Motor seine neue Solldrehzahl geben.
Hat jemand einen Vorschlag wie so eine Funktion aussehen kann? Und vor allem, gibt es Timer oder sowas in der Art, die mitlaufen, sobald ich z.B. den Startknopf drücke, und mir die verstrichene Zeit als Wert ausgibt, mit dem man dann arbeiten kann?
Danke schonmal für jede Art von hilfe!
Grüße
Ich hab zwar mit LabWindows noch nie etwas gearbeitet, aber eventuell hilft link.
Würde mir das so vorstellen: (geht jetzt nur in eine richtung)
static int CVICALLBACK RPMTimer(int reserved, int timerId, int event, void *callbackData, int eventData1, int eventData2)
{
static unsigned int timestep = 0;
switch (event) {
case EVENT_TIMER_TICK:
++timestep;
if(timestep < LOWER_LIMIT)
cur_rpm = slope * timestep;
else if(timestep > UPPER_LIMIT)
cur_rpm = MAX_RPM - slope * (timestep - UPPER_LIMIT)
else
cur_rpm = MAX_RPM
// Set rpm here
break;
}
return 0;
}
timer = NewAsyncTimerWithPriority(LOOP_RATE, -1, TRUE, RPMTimer, NULL, THREAD_PRIORITY_TIME_CRITICAL);
Alles anzeigen
im prinzip nur das beispiel angepasst.
Thomas
Danke Bernd für deine schnelle Antwort. Das ist nur der erste Teil des Programms,ich muss noch den Algorithmus von Ford Fulkerson programmieren. Leider funktionierts auch mit den geänderten return Werten nicht.
lg Sabine
wäre für diesen fall c++ nicht besser geeignet?
exceptions sind meistens angenehmer handzuhaben als bei jeder funktion systemprogrammierer mässig return-werte zu überprüfen
ausserdem sind klassen "einfacher" zu allokieren und freizugeben als daten mit malloc, bzw hättest du dann auch datenstrukturen wie den std::vector (zB zum speichern des pfads) zur verfügung
was mir noch auffällt, der pointer wird nur u zugewiesen, aber nie an die aufrufende funktion übergeben (bei malloc bekommst du einen neuen pointer)
entweder du änderst die signatur von
auf
(dann kannst du mit auf NULL testen gleich die fehler analyse machen)
oder auf
und weist mit
zu (würde ich eher als einen kunstgriff bezeichnen)
der aufruf wäre dann:
Thomas
Hat sich erledigt.
Zu dem mittlerweilende fehlenden Thema sei noch angemerkt: Wenn du mit msvc++ programmierst und du mögchtest das es auch mit dem gcc auf linux kompiliert solltest du die reihenfolge der initialisierungen im konstruktor der reihenfolge der membervariablen anpassen, heisst:
wird auch mit 1) initialisiert, bei 2) meckert der gcc
und beim ableiten würd ich auch die elternklasse explizit noch anschreiben
Thomas
obj->abc() ist die abkürzung für (*obj).abc()
Und statischer Speicher wird autmatisch freigegeben, dynamischer nicht (statisch: Class abc;, dynamisch: Class *abc = new Class())
Smartpointer werden statisch allokiert (somit auch autom. freigegeben) und können dadurch das dynamisch allokierte freigeben
bzgl parameter-übergabe:
Java: void function(Object a, int b)
C++: void Class::function(Object &a, int b)
noch als tipp: http://www.parashift.com/c++-faq/
Thomas
Dein Code ist falsch.
Wohlwahr
Oder muss ich im JS file etwas berücksichtigen?
ist es auch sicher javascript und nicht JScript?
check mal die fehlerkonsole vom firefox/opera, bei firefox extras > fehlerkonsole
zum debuggen im web ist firebug bzw die webdeveloper toolbar auch ganz praktisch/empfehlenswert
Thomas