Mittwoch, 24. Februar 2010

 

Automat

Implementieren Sie folgenden (erkennenden) Automaten in Java.
  1. mittels switch-Statement
  2. mittels Zustandsübergangstabelle
Verwenden Sie für die Zustände
  1. Java-Konstante
  2. ein enum
Sie müssen also vier Varianten des Automaten implementieren. Nennen Sie die Automatenklassen Automat11 (switch, Konstante), Automat12 (switch, enum), Automat21 (Tabelle, Konstante) und Automat22 (Tabelle, enum).
Bestimmen Sie 10 gültige Worte (Worte, die der Automat akzeptieren muss) und 10 ungültige Worte.
Erstellen Sie eine Klasse Main (mit der Methode main()), welche 4 Automaten instantiiert und jeden Automaten mit den 20 Worten testet.
Hier ein Fragment aus der Main-Klasse:
public class Main {
// ...
public static void main(String[] args) {
Automat11 automat1 = new Automat11();
Automat12 automat2 = new Automat12();
Automat21 automat3 = new Automat21();
Automat22 automat4 = new Automat22();
//...
String s = "aabaaass";
System.out.printf("automat1(%s) = %s\n", s, automat1.accept(s));
System.out.printf("automat2(%s) = %s\n", s, automat2.accept(s));
//... usw.
}
// ...
}
Nennen Sie das Projekt automat (z.B. 2ad-meier-java-automat) und checken Sie es am CVS ein.

Labels: , ,


Dienstag, 16. Februar 2010

 

Lego Roboter löst Rubik's Cube in 12 Sekunden

Das ist wirklich ein faszinierendes Ding...

Gesehen bei www.engadget.com.

Labels:


Montag, 15. Februar 2010

 

eclipse und cvs

Um mit CVS bequem zu arbeiten, eignet sich eclipse normalerweise ganz gut. Aber ab und zu habe ich Probleme mit dem Einchecken von Java-Projekten auf meinem Rechner zu Hause und dem Auschecken in der Schule und umgekehrt. Das Problem manifestiert sich so, dass das ausgecheckte Java-Projekt kein Java-Projekt mehr ist und man eclipse praktisch nicht mehr verwenden kann.
Ich habe herausgefunden, was falsch ist, aber ich weiß noch nicht, warum das passiert. Es gibt in einem Java-Projekt zwei Konfigurationsdateien .project und .classpath. In beiden Dateien treten beim Auschecken (oder schon beim Einchecken) Fehler auf. Ich möchte die Unterschiede anhand eines Beispiels zeigen:
.project nach dem Auschecken:
<projectdescription>
  <name>start-demo</name>
  <comment></comment>
  <projects>
  </projects>
  <buildspec>
  </buildspec>
  <natures>
  </natures>
</projectdescription>
.project wie es funktioniert:
<projectdescription>
  <name>start-demo</name>
  <comment></comment>
  <projects>
  </projects>
  <buildspec>
    <buildcommand>
      <name>org.eclipse.jdt.core.javabuilder</name>
      <arguments>
      </arguments>
    </buildcommand>
  </buildspec>
  <natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
  </natures>
</projectdescription>
Irgendwie wurde die buildSpec und die nature unterschlegen.

Die zweite Datei .classpath fehlt komplett:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Man kann die Dateien nach obigem Muster anlegen und muss dann ein "Refresh" des Projekts machen.

Labels: , ,


Freitag, 12. Februar 2010

 

Valentinstag

I love Free Software!

Labels:


Freitag, 5. Februar 2010

 

Google sagt dem IE6 den Kampf an

Microsoft ist schon zwei Browsergenerationen weiter, es gibt schon den Internet Explorer 8 (und IE7 natürlich). Dennoch verwenden immer noch viele den alten und sehr fehlerhaften IE6 - es sind derzeit laut Browser Version Market Share immer noch 20%. Immerhin ist der IE6 im August 2001 auf den Markt gekommen. Den IE7 gibt es seit 2006 und seit knapp einem Jahr gibt es den IE8.

Für Web-Entwickler macht der IE6 die meiste Arbeit. Vielleicht wäre es wirklich das Beste, auf den IE6 ganz zu verzichten. Vor einigen Jahren gab es ja auch immer einen Eintrag auf den Webseiten "best viewed with ...". Ich finde es gut, dass diese Meldungen selten geworden sind, aber vielleicht sollte man eine extra für den IE6 einbauen: "not viewed with IE6".

Da ich auch immer wieder Webseiten (mit-)entwickle, weiß ich, wovon ich spreche. Ein schönes CSS-Design wird zur Hölle, wenn man es auch für den IE6 zurechtbiegen muss. Ich hör nun auf damit, denn die Auftraggeber wollen zwar die Kunden, die den IE6 verwenden, sind aber nicht gewillt, das auch zu zahlen.


Weitere Infos gibt es hier:

Labels: , ,


Mittwoch, 3. Februar 2010

 

Entwicklung von iPhone Apps unter Linux - VMware Image II

Ich habe nun schon viele Stunden investiert, um nur einmal kurz eine "Hello World"-App für's iPhone zu entwickeln. Ich wollte auch den iPhone-Simulator ausprobieren, da ich kein iPhone besitze. Mich interessiert die Technologie. Ob ich mir ein iPhone, irgend ein Android oder ein Maemo zulegen werde, muss ich mir noch überlegen. Jedenfalls bin ich zur Erkenntnis gekommen, dass es ohne Mac ziemlich mühsam ist, Apps für's iPhone zu entwickeln. Zumindest, wenn man kein eigenes iPhone hat.
Immerhin ist es mir gelungen ein VMware-Image mit Mac OS X Leopard 10.5.2 mit einem, leider nicht aktuellem, iPhone SDK zum Laufen zu bringen.

Meine Arbeit basiert auf einem "Download" von pcwizcomputer.com. Das aktuelle iPhone SDK von developer.apple.com/iphone/ (ich habe mich registriert!) funktioniert leider nicht mit diesem alten OS X 10.5.2. Also machte ich ein Systemupdate. Leider gab's dann immer einen "Kernel Panic". Also suchte ich mir ein älteres iPhone SDK (man muss ein bisschen suchen und einen Torrent-Client haben), das sich dann installieren ließ.
Das mit dem VMware-Image war leider auch nicht so einfach. Ich verwende normalerweise VirtualBox für Sachen, die nur unter 32bit Debian laufen. In meinem 32bit Debian Image in der VirtualBox merkt man den Unterschied zum 64bit Host fast nicht. Aber dieses VMware-Image ist lähmend! Außerdem versuchte ich zunächst den VMware-player. Leider konnte ich da das Netzwerk nicht zum Laufen bringen. Also installierte ich den ebenfalls kostenlos erhältlichen VMware Server. Hier funktioniert das Netzwerk (immer wieder, manchmal behauptet das Mac OS, dass das Netzwerkkabel nicht angeschlossen ist, dann deaktiviere und und aktiviere ich das Netzwerk in der VMware Konsole).
Die Installationen dauern Stunden!
Jedenfalls läuft Xcode mit dem (alten) iPhone SDK:

Viel Geduld und viel virtuelle Rechenzeit waren nötig. Auch der Simulator läuft (allerdings kann ich bei dieser Version das Handy nicht drehen):


Ich befürchte aber, dass das mit dem GUI-Builder auch nicht hinhaut. Jedenfalls habe ich nichts passendes für's iPhone gefunden. Nur für Mac OS. Das sollte auch für's iPhone funktionieren, da auf dem iPhone im Wesentlichen auch ein Mac OS X läuft. Das muss ich aber noch prüfen, sobald ich wieder genügend Zeit habe. - Andere, wichtigere Projekte rufen.

Labels: , , ,


This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]