Zum Inhalt springen

PerdianMG

Mitglieder
  • Gesamte Inhalte

    103
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von PerdianMG

  1. PerdianMG

    java läuft nicht

    Ahnung davon, was du machen willst.
  2. An einem _könnte_ es liegen: Wenn du noch die alte Microsoft VM im IE am laufen hast, muss die Klasse mit -target=1.1 kompiliert werden, damit der dumme alte IE alles richtig mitbekommt. Christian
  3. Naja es hängt immer vom LayoutManager ab, in welcher Weise deine Angaben auch tatsächlich weiterverarbeitet werden. Was oft weiterhilft: Von JButton ableiten und getPreferredSize() und getMinimumSize() überschreiben, mit den Größen, die du gerne haben willst. Ciao Chris
  4. Naja aber _was_ genau Rekursion ist weisst du, oder? Wenn ja sollte die ganze Aufgabe eigentlich kein Problem sein, ich versuchs mal aus dem Stand: Die Methode copyFile erspare ich mir mal, das dürfte trivial sein. public void copyDirectory(File sourceDirectory, File destinationDirectory) { File[] sourceFiles = sourceDirectory.listFiles(); for(int i=0; i < sourceFiles.length; i++) { File newFile = new File(destinationDirectory, sourceFiles[i].getName()); if(sourceFiles[i].isFile()) { this.copyFile(sourceFiles[i], newFíle); } else { this.copyDirectory(sourceFiles[i], newFile); } } }
  5. Ich kenne hier keine bekannten Intervall-Klassen, aber im Grunde genommen musst du dich mal genauer mit java.util.Calendar befassen, der bietet im Grunde genommen alle Methoden, die du brauchst. Als kleiner Einstieg mal ein paar Methoden, die ich zu dem Thema schon geschrieben habe: public class MiscUtil { // ... /** * Gets the date that fits into the given hour time the next time * @param hour * the hour of the time * @param minute * the minute of the time */ public static Calendar getNextDateForTime(int hour, int minute) { return MiscUtil.getNextDateForTime(hour, minute, 0); } /** * Gets the date that fits into the given hour time the next time * @param hour * the hour of the time * @param minute * the minute of the time * @param seconds * the seconds of the time */ public static Calendar getNextDateForTime(int hour, int minute, int seconds) { if(hour < 0) { Calendar newDate = Calendar.getInstance(); newDate.set(Calendar.MINUTE, minute); newDate.set(Calendar.SECOND, minute); if(newDate.getTime().getTime() < System.currentTimeMillis()) { newDate.add(Calendar.HOUR_OF_DAY, 1); } return newDate; } else { Calendar currentDayDate = MiscUtil.getTimeCurrentDay(hour, minute, seconds); if(currentDayDate.getTime().getTime() < System.currentTimeMillis()) { return MiscUtil.getTimeNextDay(hour, minute, seconds); } else { return currentDayDate; } } } /** * Gets the specified time at the next day * @param hour * the hour of the time * @param minute * the minute of the time */ public static Calendar getTimeNextDay(int hour, int minute) { return MiscUtil.getTimeNextDay(hour, minute, 0); } /** * Gets the specified time at the next day * @param hour * the hour of the time * @param minute * the minute of the time * @param seconds * the seconds of the time */ public static Calendar getTimeNextDay(int hour, int minute, int seconds) { Calendar rightNow = Calendar.getInstance(); // Jump to next day rightNow.set(Calendar.DAY_OF_YEAR, rightNow.get(Calendar.DAY_OF_YEAR) + 1); rightNow.set(Calendar.HOUR_OF_DAY, hour); rightNow.set(Calendar.MINUTE, minute); rightNow.set(Calendar.SECOND, seconds); return rightNow; } /** * Gets the specified time at the current day * @param hour * the hour of the time * @param minute * the minute of the time */ public static Calendar getTimeCurrentDay(int hour, int minute) { return MiscUtil.getTimeCurrentDay(hour, minute, 0); } /** * Gets the specified time at the current day * @param hour * the hour of the time * @param minute * the minute of the time * @param seconds * the seconds of the time */ public static Calendar getTimeCurrentDay(int hour, int minute, int seconds) { Calendar rightNow = Calendar.getInstance(); // Jump to next day rightNow.set(Calendar.HOUR_OF_DAY, hour); rightNow.set(Calendar.MINUTE, minute); rightNow.set(Calendar.SECOND, seconds); return rightNow; } /** * Gets the next hour that is approching as <code>Date</code> object */ public static Calendar getNextHour() { Calendar rightNow = Calendar.getInstance(); int currentHour = rightNow.get(Calendar.HOUR_OF_DAY); rightNow.set(Calendar.HOUR_OF_DAY, currentHour + 1); rightNow.set(Calendar.MINUTE, 0); rightNow.set(Calendar.SECOND, 0); return rightNow; } } Willst du beispielweise das Runnable Object R1 zur nächsten vollen Stunde starten lassen bietet sich folgendes Konstrukt an: Timer timer = new Timer(); TimerTask myTimerTask = new IrgendeinTimerTask(); timer.schedule(myTimerTask, MiscUtil.getNextHour().getTime()); Ciao Chris
  6. Naja gehen würde es wahrscheinlich schon aber was machst du, wenn jemand Applets nicht anzeigen kann (oder es absichtlich ausgeschaltet hat) und kein JavaScript unterstützt? Du wirst um eine serverseitige Überprüfung nicht drumrumkommen. Ciao Chris
  7. Einfach mal eine Idee so in den Raum hinengeworfen: Eclipse-Versionen unter 3.0M3 haben bei mir irgendwann mal Probleme mit JDK 1.4.2 gemacht, da muss wohl Sun irgendwas JNI-mäßiges umgestellt haben, was bei Eclipse wie gesagt erst ab der M3 wieder funktioniert - vielleicht liegt's ja daran. Ciao Christian
  8. PerdianMG

    Felder wie in Delphi

    Nein, so etwas gibt es unter Java nicht. Arrays können immer nur numerische Werte als Indizes verwenden. Man könnte das ganze natürlich simulieren indem du folgendes Konstrukt erstellst: public static final int A = 0; public static final int B = 1; ... String[] meinArray = new String[26]; meinArray[A] = "test"; aber das wäre eigentlich nur Blödsinn :-) Ciao Chris
  9. Ich versuch mal ein bisschen was zu erklären: Servlet Ein nach bestimmten Kriterien aufgebautes Object - eigentlich ist das einzig besondere, dass es javax.servlet.Servlet implementiert und damit in einem ServletContainer verwaltet und aufgerufen werden kann. Framework Eine Gruppe von Objekten, die zusammen eine bestimmte klar umrissene Aufgabe erfüllen. Ein Logging-Framework z.B. definiert (je nach Umfang) mehr oder weniger komplexe Möglichkeiten zur Laufzeit Nachrichten zentral zu empfangen. Das schon angesprochene Collection-Framework bietet Möglichkeiten Daten in Datenstrukturen zu gruppieren, etc. JSP Hängt sehr stark mit Servlets zusammen (ist intern auch nichts anderes) aber bietet nach aussen hin eine andere Ansicht für den Programmierer. Ganz grob umrissen ist es in etwa wie PHP, nur dass du als dynamischen Inhalt Java-Code verwenden kannst. XML Datenbeschreibungssprache, die es sehr einfach ermöglicht Text-Daten (und in ganz geringem und Umfang auch andere Daten) in eine Struktur zu setzen, die plattform- und programmiersprachenunabhängig ausgelesen werden kann. JavaBeans Ein Bean ist einfach nur ein "normales" Object, dass bestimmte Eigenschaften definiert. Beispielsweise hat ein Bean eine bestimmte Anzahl an Properties, die über standardisierte getter und setter Methoden ausgelesen werden können. Hope that helps Chris
  10. Ich weiss nicht ob das Beispiel mit der Post und dem Empfänger so gut geeignet ist um den Begriff der Polymorphie auszudrücken, das würde ich anders ausdrücken: Wir haben eine Klasse "Beförderungsgegenstand", die bestimmte Eigenschaften hat. Dem Postboten, der die Pakete oder Briefe ausfährt ist es (im großen und ganzen *g*) egal, ob er nun eine Werbesendung oder ein Einschreiben ausliefert - es sind halt für ihn alles nur abstrakte Beförderungsgegenständer. Für mich als Empfänger spielt es ber eine ganz andere Rolle: Eine Einschreiben vom Gerichtsvollzieher ist ganz anders zu behandeln als die neuesten Werbeangebote der Geiz und Geil Märkte - und das ist schon Polymorphie. Zwei Objekte (ich und der Postbote) betrachten ein drittes Object (den Brief) aus unterschiedlichen Blickwinkeln und doch bleibt der Brief an sich jedesmal gleich. Ciao Chris
  11. Naja Polymorphie an sich hat erstmal gar nichts mit Mehrfachvererbung zu tun, sondern besagt ganz einfach, dass ein Object die Eigenschaft hat als verschiedene Dinge in Erscheinung zu treten. Nehmen wir dochmal eine Klasse (oder noch besser ein Interface), die eine Methode enthält: public abstract Medium[] getMedium(Object[] irgendwelcheParameter); Je nach Implementierung, könnte die diese Methode jetzt die verschiedensten Medien zurückgeben. Als Vererbungsbaum vielleicht so Medium -- Textmedium ------ Zeitschrift ------ Buch -- Elektronisches Medium ---- CD ------ CD-ROM ------ DVD -- ... Polymorphie heisst jetzt nichts anderes, als das die genauen Medien im Array, die verschiedensten Implementierungen sein können, also beispielweise medium[0] = new Zeitschrift(); medium[1] = new DVD(); und so weiter Ciao Christian
  12. Guck dir am besten mal die API zu java.net.URLClassLoader an - der macht nämlich genau das, was du willst (wenn ich dich richtig verstanden habe *g*) Ciao Christian
  13. Dürfte interessante Methoden ergeben Dozent d = new Dozent(); d.openCase(); d.ejectCD(); *lol* Ciao Christian
  14. Check mal unter Systemsteuerung -> Java Plugin ob dort die Option Browser -> Java Plug-in wird als Standard-Java-Laufzeitprogramm... aktiviert ist. Wenn nicht, aktivieren und dann läuft (hoffentlich) alles. Wenn das auch nicht klappt, dann das komplette SDK nochmal installieren, vielleicht gehts dann. Ciao Christian
  15. Nein, die richtige Lösung lautet definitiv nicht Vererbung, denn das würde - wie schon angesprochen - überhaupt keinen Sinn machen. Entweder ist da irgendwem beim Zusammmenstellung der Fragen ein Tippfehler unterlaufen, oder aber ein wirklich großer Patzer - auf jeden Fall ist es die komplett falsche Antwort. Ciao Christian
  16. PerdianMG

    Fakultätsfunktion

    Dann hätte ich - anstatt hier auf Antwort zu warten - lieber mal versucht selber zu recherchieren, was ich brauche um das Problem zu lösen. Das eigentliche Programm selber ist wahrscheinlich in zehn Zeilen oder weniger zu lösen - die Method fac(int n) ist rekursiv sogar ein Einzeiler. Die zwei Überlegungen, die du anstellen musst sind auch ganz einfach: - Was genau ist die Fakultäts-Funktion - Wie willst du sie umsetzen (rekursiv/iterativ) Mit ein bisschen Java-Grundkenntnissen ganz schnell gelöst, aber deine Hausaufgaben vorrechnen wird dir hier niemand. Ciao Christian
  17. Die gesamte Zeit, oder zumindest anteilig, da du ja deine Freizeit (oder eben auch nicht-Freizeit nicht so normal planen kannst, wie du das tun würdest, wenn du keinen Bereitschaftsdienst hättest... aber wie gesagt, da müsste ein Experte für Arbeitsschutz mehr wissen. Wie schon jemand ander gesagt hat: Es macht den Text unangenhem zu lesen. Großschreibung wird nunmal allgemein als SCHREIEN interpretiert - wenn du das damit aussagen möchtest Bitteschön *g*. Aber um im Text Dinge _hervorzuheben_ gibt es *andere* Möglichkeiten, wie man hier ja /sehr/ schön sehen kann. Ciao Christian
  18. Natürlich darfst du Überstunden machen... IIRC gelten in solchen Dingen für dich (da über 18 Jahre) die gleichen Regeln wie für jeden "normalen" Arbeitnehmer auch. Natürlich darfst du das. Erst ab drittem Lehrjahr ist Blödsinn. Du darfst genau dann alleine draussen beim Kunden arbeiten, wenn dein Chef denkt, dass du die Eignung dazu besitzt - schließlich ist er (oder besser gesagt seine Firma) auch derjenige, der später dafür haften muss, wenn du irgendwas falsch machst. Selbstverständlich darf er das von dir verlangen - wieso auch nicht? Solange alles innerhalb der Arbeitszeitvorschriften (in welchem Gesetz das gerade steht ist mir entfallen) bleibt ist das vollkommen in Ordnung. Die Zeit in der du Support leistest muss dir natürlich in irgendeiner Art und Weise angerechnet werden (ob das als Arbeit oder Bereitschaft gilt weiss ich nicht, müsstest du mal 'nen Fachmann für Arbeitsrecht fragen). Generell gilt: Als volljähriger Azubi hast du keine besonderen Ausnahmeregelungen. Wenn dir die Arbeit nicht gefällt, dann hätte ich den Arbeitsvertrag nicht unterschrieben und da gar nicht erst angefangen - sowas klärt man vorher ab. Ach ja: Deine Shift und !-Tasten klemmen. Ciao Christian
  19. Javadoc tut's da aber auch :-) /** * Returns the address to which the socket is connected. * * @return the remote IP address to which this socket is connected, * or <code>null</code> if the socket is not connected. */ public InetAddress getInetAddress() { ... Ciao Christian
  20. Ja aber sicherlich doch: http://gcc.gnu.org/java/ Für einfache Konsolenanwendungen klappt das einwandfrei und es soll Leute geben, die auch komplexe SWT-Anwendungen damit kompiliert bekommen. Ciao Christian
  21. Dein Problem liegt am Prinzip eines InputStream. Wenn keine Daten mehr vorhanden sind, wir solange geblockt, bis wieder etwas da ist. Zu deinem Beispiel: 01 Process pr = Runtime.getRuntime().exec(javahome + "java -classpath " + classPath + " " + klasse); 02 03 InputStream is = pr.getInputStream(); 04 System.out.write(is.read()); 05 InputStream es = pr.getErrorStream(); 06 System.out.write(es.read()); Erstmal wird überhaupt nichts passieren, bis du in Zeile 03 aus dem InputStream Daten erhälst. Hiervon gibst du dann ein einziges Byte aus (das erste halt) und danach machst du mit dem InputStream überhaupt nichts mehr. Danach geht dasgleiche mit dem ErrorStream nochmal von vorne los - du wirst also maximal zwei Bytes auf der Console ausgeben können und das wars. Die Lösung für dein Programm sind zwei Threads, die die Daten der Streams auffangen und auf die Console weitergeben: Alles ungetestet, aber sollte eigentlich funktionieren :-) Ciao Christian public class TestClass { public static void main(String[] args) { Process pr = Runtime.getRuntime().exec(javahome + "java -classpath " + classPath + " " + klasse); InputStream inStream = pr.getInputStream(); InputStream errorStrean = pr.getErrorStream(); StreamRelayThread inRelay = new StreamRelayThread(inStream, System.out); StreamRelayThread errorRelay = new StreamRelayThread(errorStream, System.err); inRelay.start(); errorRelay.start(); inRelay.join(); errorRelay.join(); } } public class StreamRelayThread extends Thread { private InputStream myInStream = null; private OutputStream myOutStream = null; public StreamRelayThread(InputStream inStream, OutputStream outStream) { this.myInStream = inStream; this.myOutStream = outStream; } public void run() { try { for(int data = this.myInStream.read(); data > -1; data = this.myInStream.read()) { this.myOutStream.write(data); } } catch(IOException e) { e.printStackTrace(); } } }
  22. PerdianMG

    Enumeration

    Wenn du nicht unbedingt eine Hashtable benötigst (weil im 1.1er Applet) sondern auch die neuere Map verwenden kannst dann solltest du dir mal die LinkedHashMap ansehen, die macht nämlich genau das was du willst. Die Einträge bleiben schnell über eine interne HashMap erreichbar und beim Iterieren mit einem Iterator bekommst du die gleichen Reihenfolge, in der die Elemente in die Map eingefügt wurden. Ciao Christian
  23. PerdianMG

    JSP und JTAPI?

    Also prinzipiell kannst du in einer JSP Seite alles das machen, was du in einer "normalen" Applikation auch kannst (von GUI natürlich mal abgesehen) also sollte auch die JTAPI einbindung drin sein. Ciao Christian
  24. PerdianMG

    JAVA Portscanner

    Also die Meldung in Zeile 9 finde ich dann doch etwas seltsam :-) Ciao Christian

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...