Java - Schnipsel
Worum geht es hier?
Hier findest Du kurze Codebeispiele zum Nachschlagen für häufig zu erledigende Aufgaben.
Zahlen
Erzeugen einer Zufallszahl
// Erzeugt eine Zufallszahl zwischen 0 und 9
new java.util.Random().nextInt(10);
// Wenn man das Paket java.util importiert hat, reicht natürlich auch:
new Random().nextInt(10)
Umwandeln einer Zeichenkette in eine Zahl
Integer.parseInt("42") // Liefert die Zahl 42 zurück.
Umwandeln einer Zahl in eine Zeichenkette: Am einfachsten lässt sich eine Zahl in eine Zeichenkette umwandeln, wenn man sie mit einer - eventuell auch leeren - Zeichenkette verknüpft.
"Die Zahl ist " + 42
"" + 42
Ausgabe
Ausgabe von Text auf der Standardausgabe
System.out.println("Hallo Welt");
Grafische Ausgabe von Text in einem Fenster
// Klasse JOptionPane aus Paket javax.swing
// nach Import durch javax.swing.*
JOptionPane.showMessageDialog(null, "Hallo Welt");
// ohne Import
javax.swing.JOptionPane.showMessageDialog(null, "Hallo Welt");
Eingabe
Am einfachsten kann man Eingaben auf Konsolenebene durch Verwendung der Klasse Scanner
realisieren. Ein Scanner
muss bei der Erzeugung die
Eingabequelle übergeben bekommen, also z.B. System.in
für die Standardeingabe
(in BlueJ die Konsole).
In den meisten Fällen möchte man wahrscheinlich eine Zeichenkette oder eine Zahl eingeben.
Vorausgesetzt man hat das Paket java.util
importiert,
lässt sich ein Scanner
z.B. folgendermaßen nutzen:
import java.util.*; // Noch vor der Klassendefinition importieren
...
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine(); // Speichert eine mit Benutzer eingegebene Zeichenkette in s
int a = scanner.nextInt(); // Speichert eine vom Benutzer eingegebene ganze zahl in a
// Kompaktere Schreibweise mit immer neuem Scanner-Objekt
s = new Scanner(System.in).nextLine();
a = new Scanner(System.in).nextInt();
Threads
Ein Thread, der unendlich läuft, sich aber kontrolliert beenden lässt
class Endlosfaden extends Thread {
private boolean finished = false;
private String ausgabe;
public Endlosfaden(String s)
{
ausgabe = s;
}
public void terminate() {
finished = true;
}
public void run() {
while (!finished) {
System.out.println(ausgabe);
}
System.out.println("Tschöö");
}
}
Obigen Thread zwei mal erzeugen, starten und kontrolliert beenden
Endlosfaden t1 = new Endlosfaden("Hallo");
Endlosfaden t2 = new Endlosfaden("Bonjour");
t1.start(); // NICHT t.run(); die Methode wird intern aufgerufen.
t2.start();
// Wichtige Dinge abwarten
t1.terminate();
t2.terminate();
Proxy
Wenn der Zugriff ins Internet über einen Proxy erfolgt, dann müssen für Java-Programme
entsprechende Einstellungen vorgenommen werden.
Dies lässt sich z.B. im Quellcode durch Benutzung der statischen Methode
System.setProperty(...)
errreichen.
System.setProperty("proxySet", "true");
System.setProperty("proxyHost", "192.168.0.254");
System.setProperty("proxyPort", "3128");