Java: Beispiele: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Quellen) |
Flinh1 (Diskussion | Beiträge) (→Links) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 5: | Zeile 5: | ||
<div align="right">'''[[Kotlin|Zur Seite "Kotlin"]]'''</div> | <div align="right">'''[[Kotlin|Zur Seite "Kotlin"]]'''</div> | ||
− | == | + | == Snippets == |
+ | |||
+ | Zufallszahl: | ||
+ | int computerNumber = (int) (Math.random()*100 + 1); | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | == Skripte == | ||
=== Wörter zählen === | === Wörter zählen === | ||
Zeile 208: | Zeile 216: | ||
== Quellen == | == Quellen == | ||
=== Links === | === Links === | ||
+ | |||
* https://grundkurs-java.de/ | * https://grundkurs-java.de/ | ||
Zeile 223: | Zeile 232: | ||
* https://openclassrooms.com/fr/courses/26832-apprenez-a-programmer-en-java | * https://openclassrooms.com/fr/courses/26832-apprenez-a-programmer-en-java | ||
+ | |||
+ | * https://hackr.io/blog/java-projects | ||
+ | |||
+ | * https://www.dropbox.com/sh/o5uvt3h9kfm5b60/AADOEUxSAW34rXTBmxXv5eyMa Java Chatbots | ||
---- | ---- |
Aktuelle Version vom 28. Januar 2021, 08:54 Uhr
Inhaltsverzeichnis
Snippets
Zufallszahl:
int computerNumber = (int) (Math.random()*100 + 1);
Skripte
Wörter zählen
package de.kaiguenster.javaintro.wordcount; import java.io.*; import java.util.*; /** * Ein einfacher Wortzähler, der aus einem beliebigen {@link InputStream} Wörter zählt. * Wörter sind alle Gruppen von alphabetischen Zeichen. Das führt zum Beispiel beim * abgekürzten "geht's" dazu, dass es als "geht" und "s" gezählt wird. * @author Kai */ public class WordCount { private InputStream source; private Map<String, Integer> wordCounts = new HashMap<>(); private int totalCount = 0; /** * Erzeuge ein neues WordCount-Objekt aus einem {@link InputStream} * @param source - der Inputstream, aus dem gelesen wird. Sollte auch wirklich * Textdaten enthalten, sonst ist das Ergebnis ungewiss. */ public WordCount(InputStream source){ this.source = source; } /** * Zählt Wörter aus dem InputStream */ public void count(){ try(Scanner scan = new Scanner(source)){ scan.useDelimiter("[^\\p{IsAlphabetic}]+"); while (scan.hasNext()){ String word = scan.next().toLowerCase(); totalCount++; wordCounts.put(word, wordCounts.getOrDefault(word, 0) + 1); } } } /** * @return die Anzahl Wörter im Text */ public int getTotalCount(){ return totalCount; } /** * @return die Menge aller gefundenen Wörter im Text */ public Set<String> getWords(){ return Collections.unmodifiableSet(wordCounts.keySet()); } /** * Findet, wie oft ein bestimmtes wort im Text vorkommt. * @param word - das Wort, nach dem gesucht wird * @return - wie oft das Wort im Text vorkommt */ public int getCount(String word){ Integer result = wordCounts.get(word); return result != null ? result : 0; } /** * Die Main-Methode wird ausgeführt, wenn WordCount als Programm aufgerufen wird. * @param args - erwartet wird genau ein Aufrufparameter: ein Dateiname * @throws FileNotFoundException - diese Exception wird nie wirklich geworfen, * der Fehler wird vorher abgefangen */ public static void main(String[] args) throws IOException { if (args.length != 1) fail("WordCount requires exactly one file name as argument"); File f = new File(args[0]); if (!f.exists()) fail("File does not exist " + f.getAbsolutePath()); if (!f.isFile()) fail("Not a file " + f.getAbsolutePath()); if (!f.canRead()) fail("File not readable " + f.getAbsolutePath()); try(FileInputStream in = new FileInputStream(f)){ WordCount count = new WordCount(new FileInputStream(f)); count.count(); System.out.println("Words in total: " + count.getTotalCount()); count.getWords().stream().sorted().forEach((word) -> { System.out.println(word + ": " + count.getCount(word)); }); } } /** * Hilfsmethode zu main: im Fehlerfall schreibt diese Methode eine Fehlermeldung * und beendet das Programm * @param message - die Fehlermeldung */ private static void fail(String message){ System.err.println(message); System.exit(1); } }
Fibonacci
package de.kaiguenster.javaintro.fibonacci; /** * Java-Programm zur Berechnung von Fibonacci-Zahlen. * Auruf: java de.kaiguenster.javaintro.fibonacci.Fibonacci <n>. Dabei ist * n der Index der gesuchten Fibonacci-Zahl, <code>...Fibonacci 6</code> berechnet * die 6. Zahl der Folge: 5 * @author Kai */ public class Fibonacci { public static int fibonacci(int n){ if (n < 0) throw new IllegalArgumentException("Fibonaccizahlen sind für negativen Index nicht definiert."); else if (n == 0) return 0; else if (n == 1) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } public static void main(String[] args) { if (args.length != 1) { System.out.println("Aufruf: java de.kaiguenster.javaintro.fibonacci.Fibonacci <n>"); System.exit(1); } int n = Integer.parseInt(args[0]); int result = fibonacci(n); System.out.println("Die " + n + ". Fibonacci-Zahl ist: " + result); } }
Einen String umkehren
/** * Programm zum Umkehren von Strings in der Kommandozeile. * @author Kai * @version 1.0 */ package de.kaiguenster.javaintro.reverse; /** * * @author Kai */ public class Reverse { /** * Kehrt einen <code>String</code> zeichenweise um. Zum Beispiel wird "Hallo, Welt!" zu "!tleW ,ollaH" * @param in der umzukehrende <code>String</code> * @return den umgekehrten <code>String</code> * @throws IllegalArgumentException wenn in == <code>null</code> ist. */ public static String reverse(String in){ if (in == null) throw new IllegalArgumentException("Parameter in muss übergeben werden."); StringBuilder out = new StringBuilder(); for (int i = in.length() - 1; i >= 0; i--){ out.append(in.charAt(i)); } return out.toString(); } public static void main(String[] args) { if (args.length != 1){ System.out.println("Aufruf: java de.kaiguenster.javaintro.reverse.Reverse \"<text>\""); System.exit(1); } String reversed = reverse(args[0]); System.out.println(reversed); } }
Quellen
Links
Youtube
Bücher
- Hardy, Dirk: Java für IT-Berufe, Haan-Gruiten 2019 (Europa-Lehrmittel)
- Günster, Kai: Einführung in Java
- http://openbook.rheinwerk-verlag.de/javainsel/
- Jung, Elisabeth: Java 9 - Das Übungsbuch, Heidelberg 2017
|