Mit neueren Java-Versionen geht das ganz einfach so:
import java.util.concurrent.ThreadLocalRandom;
...
int dicedNumber = ThreadLocalRandom.current().nextInt(1, 7);
Erzeugt eine Zufallszahl zwischen 1 und 6.
Mit neueren Java-Versionen geht das ganz einfach so:
import java.util.concurrent.ThreadLocalRandom;
...
int dicedNumber = ThreadLocalRandom.current().nextInt(1, 7);
Erzeugt eine Zufallszahl zwischen 1 und 6.
Ist vollkommen okay!
Der Return-Wert von setTimeout() ist die Timer-ID. Mit dieser kannst du verschiedene Timer unterscheiden.
Mit clearTimeout() und der ID könntest du den Timer stoppen, bevor er abläuft.
Ein InputStreamReader liest Bytes von einem InputStream (File, String,...) und dekodiert sie in ein bestimmtes Charset (UTF-8, ASCII).
Den BufferedReader kann man als Wrapper rund um den InputStreamReader verwenden. Bei einem read() kommen die Bytes dann nicht direkt vom Stream (was beim Lesen aus einem File sehr aufwändig sei kann) sondern aus dem Buffer des BufferedReaders. Das ist viel effizienter.