Informatik-Blog.net

Kinosaal Plätze prüfen


import java.util.ArrayList;
import java.util.Collections;

public class Kino {

 ArrayList<Integer> platz = new ArrayList<Integer>();
 static int platzReihe = 50;
 int startplatz, endplatz;

 public Kino(int Kategorie) {
 platz.add(0); //Fixt den Bug, da sonst -1 ausgabe bei BinarySearch
 switch (Kategorie) {
 case 1:    startplatz = 1;  break; // Reihe A
 case 2: startplatz = 100; break; // Reihe B
 case 3:    startplatz = 200; break; // Reihe C
 case 4:    startplatz = 300; break; // Reihe D
 }
 endplatz = startplatz + platzReihe;
 }

 public boolean checkPlatz(int anzahlPlaetze) {
 int tempInt = 0;
 for (int i = startplatz; i < endplatz; i++) {
 if (istFrei(i)) {
 tempInt++;
 } else {
 tempInt = 0;
 }

 if (tempInt == anzahlPlaetze) {
 return true;
 }

 }
 return false;
 }

 /**
 *
 * @param platznummer
 * @return true, wenn der Platz frei ist.
 */

 public boolean istFrei(int platznummer) {
 if (! (platznummer < startplatz) || (platznummer > endplatz) ) { // prüfe ob platznumer in Range
 Collections.sort(platz);
 return (Integer.valueOf(Collections.binarySearch(platz, platznummer)) <= 0) ? true : false;
 }
 return false;
 }

 public boolean addPlatz(int Platznummer, int Kategorie) {
 if (istFrei(Platznummer)) {
 platz.add(Platznummer);
 return true;
 } else {
 return false;
 }
 }

 public boolean deletePlatz(int platznummer) {
 Collections.sort(platz);
 platz.remove( Collections.binarySearch(platz, platznummer) );
 return true;
 }

 public int hoechstePlatznummer(int Kategorie) {
 int z = 0;
 for (int i = endplatz; i > startplatz; i--) {
 if (Collections.binarySearch(platz, i) > 0);
 z = platz.get( Collections.binarySearch(platz, i) );
 System.out.println("Z!" + z);

 }

 return z;
 }

 public static void main(String args[]) {
 Kino test = new Kino(2); // A = 1, B = 2, C = 3, D = 4

 test.addPlatz(104, 2);
 test.addPlatz(108, 2);
 test.addPlatz(144, 2);

 if (test.checkPlatz(44) == true) {
 System.out.println("Jep, frei.");
 } else {
 System.out.println("keiner frei");
 }

 test.hoechstePlatznummer(2);

 }
}

Generische Klassen in Java – Einsteigertutorial

Nun, generische Klassen klingt auf Anhieb kompliziert, sind jedoch, mit ein bisschen Übung eine leichte und sehr sinnvolle Methode um Schablonen, bzw. Templates in Java zu erstellen. Sinn hierbei ist es, dass kein Code dupliziert werden muss, sofern es mehrere Datentypen gibt. Unten genanntes Beispiel zeigt, wie Simpel es gehen kann ein Template zu erstellen.


public class Ausgabe <T> { // <T> deklariert eine Templatevariable mit dem Namen T ohne Datentyp.
 public Ausgabe() {}

 private T out;

 public void setOut(T val) // Weiterhin wird mit dem "Leeren Datentyp" gearbeitet.
 {
 out = val;
 }
 public T giveOut() { // Hier wird der Datentyp ausgegeben, der vorher in dem instanziernden Objekt erstellt wurde
 return out;
 }

public static void main(String[] args) {

 Ausgabe<String> f = new Ausgabe<String>(); // Legt ein Objekt mit Dem Datentyp String an
 f.setOut("test");
 System.out.println( f.giveOut() );

 Ausgabe<Integer> a = new Ausgabe<Integer>(); // Legt ein Objekt mit dem Datentyp Integer an
 a.setOut(5);
 System.out.println( a.giveOut() );
 }

}

Wie ihr seht ist das ganze kein Teufelswerk und kann super einfach umgesetzt werden. Natürlich kann man generische Klassen auf beschränken auf verschiedene Datentypen. Das jedoch zeige ich im nächsten Tutorial.

UMTS

Besonders für den Einsatz von mobilen Internet-Technologien wie UMTS in den eigenen vier Wänden, ist ein UMTS Router eine gute Wahl. Ein solches Gerät stellt eine Internetverbindung via Mobilfunknetz bereit und ermöglicht es dem Nutzer dann das verbinden per WLAN. So können mehrere Notebooks oder Smartphones über einen UMTS-Zugang betrieben werden. Die Bandbreite beträgt optimal 7,2 MBit/s, diese wird dann selbstverständlich unter den verschiedenen Nutzern bzw. Notebooks aufgeteilt.

via mobiles-internet123.de

Berechnen der Dateigröße beim Scanner

Wie es leider oft der Fall ist, weiß man nicht sofort wie groß die Datei nach einem Scannvorgang sein wird.
Um dies zu ermitteln benötigt man die Farbtiefe, die Breite und Höhes des Bildes sowie die DPI (Dots per Inch).

Hierfür muss man auch wissen, dass ein Inch exakt 2,54 CM groß ist.

Die Berechnung der Dateigröße berechnet sich aus Grösse = (horizontale Punkte) * (vertikale Punkte) * Farbtiefe.

Die horizontale und verikale Punkte berechnen sich aus

horizontale Punkte = Breite * Auflösung in dpi / (2,54cm/inch)
vertikale Auflösung = Höhe * Auflösung in dpi / (2,54cm/inch)

Somit ergibt sich wiederrum bei folgendem Beispiel diese Berechnung:

Mehr…

Mehrere IP-Adressen Bundles erstellen

Nunja, zugegeben der Titel sagt nicht viel, jedoch habe ich mich gestern gefragt wie ich ein Array mit mehreren Einträgen bundlen kann.

Zweck war, mehrere Domains inkl. IPs zu sortieren und bei gleichen IPs farbig auszugeben.

Das Ergebniss ist eigentlich relativ einfach wie unten genanntes Beispiel zeigt:

Mehr…

PC Industrie stabilisiert ihren Absatz laut Dell

Dank der Wirtschaftskriese ist nicht nur die Autoindustrie sondern auch die Rubrik Technologien stark betroffen.

Laut aussagen von Dell ist der Absatz im im vergleich zum letzten Jahr um 22% gestiegen. Ebenso berichtet die Financial Times, dass die Nachfrage nach Computern wieder sehr hoch ist.

Mehr…

Der Umgang mit Identitätsdiebstahl

Es beginnt harmlos. Ein paar kleine Einkäufe, an die Sie nicht mehr erinneren erscheint auf Ihrer Kreditkarte oder Debit Card. Diese sehen merkwürdig aus, geben ihnen aber zum jetzigen Zeitpunkt kein grund zur Sorge.

Dann beginnt der richtige Spaß. Sie bekommen eine Kreditkartenabrechnung von mehreren hundert Euros für Dinge die sie nie gekauft haben. Sie werden von einer Firma angerufen, welche bestätigt haben will ob sie den Laptop gekauft haben. Die Bank fordert sie auf eine Autorechnung oder Miete abzuzahlen welche Sie niemals abgeschlossen haben.
Willkommen im Club vom Identitätsdiebstahl. Mehreren Milionen Menschen passiert dies täglich. Um sich dagegen vorzubeugen lesen sie sich bitte nachfolgende Tips aufmerksam durch.

Was ist Identitätsdiebstahl überhaupt?

Mehr…

ISP verändert .torrent Files beim Download

Der Torrentanbieter TorrentFreak berichtet, dass ein Israelischer Internet Provider namens Bezeq den Inhalt von .torrent Datein während des Downloads abändert.

Dieser Prozess läuft folgendermaßen ab. Wenn ein Bezeq Kunde eine .torrent File lädt, verändert der Provider die Datei und fügt einen Tracker hinzu. Der hinzugefügte Tracker kann nur von Bezeq Kunden benutzt werden und verbindet zu einem High-Speed Web-Seed welcher von diesem Provider gehostet wird.

Mehr…

Mac Adresse rausfinden in C#

Wie bereits im Java Forum gepostet zeig ich euch auch noch wie ihr in C# die Mac-Adresse rausfindet.

Beachtet, dass ihr hierfür die Library benötigt.

Hier stelle ich euch ein kleines tool mit GUI vor welches ich entwickelt habe um die Mac-Adresse auszulesen:
Mehr…

MAC-Adresse des Primären Netzwerkadapters auslesen in Java

Wie lese ich die MAC-Adresse in Java aus? Dies ist ganz einfach und funktioniert sowohl unter Linux als auch unter Windows und MAC OS X.

Zuerst müssen wir durch die NIC Adapter durchloopen um festzustellen welcher kein LOOPBACK ist. Der LOOPBACK Adapter ist der eigene PC und besitzt keine MAC-Adresse.
Mehr…