Zahl in einem String finden

derdovid

Neues Mitglied
Also, ich bin ein Anfänger was Java betrifft, deshalb kenn ich mich noch nicht so gut aus. Was ich jetzt aber versuchen will ist eine Zahl in einem "längeren" String zu finden. Zum Beispiel sieht die Eingabe so aus: "Anfangszahl 24". Und ich möchte jetzt nur die Zahl, also in dem Beispiel "24" als eigene Variable haben um mit dieser weiterarbeiten zu können. Soweit ich weiß muss ich die String-Methoden verwenden, "charAt()" um genauer zu sein. Leider weiß ich nicht wie genau ich das machen soll, also hab ich mir gedacht ich frage einfach einmal (Wenn es diesen oder einen ähnlichen Beitrag schon gibt, dann tut es mir leid, ich habe diesen nicht gefunden).

Ich hoffe ihr könnt mit weiterhelfen,
mit freundlichen Grüßen,
derdovid
 
Es geht bestimmt auch einfacher aber...

Java:
string.getBytes();

gibt dir ein array mit der Byte-repräsentation deines Strings

Java:
Character.isDigit(char)

liefert ein boolean falls ein char ein Zahl ist.
 
oder du liest es über einen Scanner als String mit
Code:
.nextLine();
ein und parst die Eingabe auf eine Ganzzahl oder halt eine Gleitpunktzahl.

Java:
Scanner sc = new Scanner(System.in);

int deineVariable = Integer.parseInt(sc.nextLine());

allerdings sollte man dann da das parsen eine Exception auslösen könnte dementsprechend Exception Handling betreiben, um Fehler gleich zu negieren.

Falls du nur wissen möchtest ob die Eingabe eine Ganzzahl enthält oder mit dieser Zahl dann weiterarbeiten möchtest, kannst du diese auch über REGEX realisieren.

so könntest du dies über
Code:
.contains();
bzw
Code:
 .matches(myRegex);
lösen .

Hier ein KSKB welches die Eingabe auf enthaltene Zahlen prüft und anhand eines Tenären Operators dementsprechend eine Ausgabe macht :

Java:
public class Foo {
	
	private static String MYREGEX = "[0-9]+";

	public Foo() {
		Scanner sc = new Scanner(System.in);
		
		System.out.println(sc.nextLine().matches(MYREGEX) ? "Enthält Nummern" : "Keine Nummern enthalten !");
		
		sc.close();
	}

	public static void main(String[] args) {
		new Foo();
	}
}
 
Zuletzt bearbeitet:
Bei meinem ist mit ein Fehler aufgefallen. Asche auf mein Haupt.😱
Es muss
Code:
int variable = new Scanner(DEINSTRING).nextInt();
heißen.
 

Zurück
Oben