Match und Patch ist the way to go, will man innerhalb eines Strings nach Buchstaben und Zahlen suchen, oder E-Mail Adressen validieren. Weiterhin kann man erfahren, wie man eine Consolen-Anwendung in Java programmiert.
Den Unterschied zwischen String und Zahl kann man mithilfe fertiger Klassen und Methoden der Java API (siehe im Link unten) feststellen. Eine Zahl liegt nur vor, wenn ausschließlich die Zahlen 0 bis 9 gegeben sind, ansonsten handelt es sich um einen String.
In der Main Methode durchläuft man eine WHILE-Schleife, in der man die Console kontinuierlich nach neuen Eingaben abfragt. Beim String „close“ (auch CLoSe) schließt sich das Programm.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import java.util.Scanner; import java.util.regex.Pattern; /** * Die Klasse Energie unterscheidet zwischen Zahlen und String und gibt stehts * aus ob es sich um eine Zahl oder einen String handelt. * * @author ST-Page.de * @version 1.0 * @since 1.6.0.0 */ public class Energie { private static Scanner sc; /** * Hier wird das Programm gestartet. Es werden keine Startparameter von der * Commadozeile erwartet. * * @param args */ public static void main(String[] args) { Energie energie = new Energie(); energie.printCmd("Stringfilter nach Zahlen"); while (true) { energie.printCmd("Geben Sie eine Zahl ein"); sc = new Scanner(System.in); String input = sc.nextLine(); if (input.equalsIgnoreCase("close")) energie.close(); boolean checkNumber = energie.matchNumber(input); energie.printCmd(((checkNumber) ? input + " ist EINE Zahl" : input + " ist KEINE Zahl")); } } /** * Hier schauen ich, ob es sich um einen String oder eine Zahl handelt. D3 * wäre ein String aber 33 ist eine Zahl. * * @param checkString * String der Commandozeile * @return */ public boolean matchNumber(String checkString) { return Pattern.matches("\\d*", checkString); } /** * Ausgabe eines Stringes in der Kommandozeile, macht Sinn bei einem MVC * Aufbau des Programmes. * * @param write */ public void printCmd(String write) { System.out.println(write); } /** * Beim Aufruf dieser Methode wird das Programm geschlossen. Vor dem * Schließen erscheint noch die Meldung, das dieses Programm geschlossen * wird. */ public void close() { this.printCmd("Programm wird geschlossen"); System.exit(0); } } |
Mehr dazu könnt ihr hier erfahren – http://openbook.galileocomputing.de/javainsel/javainsel_04_008.html