Du liest die ganze Zeile aus, packst das in ein String, welches du dann an einem gewissen Zeichen splittest. Wenn du das dann noch in ein int umwandelst, kannst du damit rechnen:
Scanner s = new Scanner(System.in);
String alles = s.nextLine();
String zahlen = alles.split(rechenzeichen);
Dann hättest du für das Beispiel 1+2 dann als Ergebnis dann Array
zahlen[0] mit dem Inhalt 1 und zahlen[1] mit dem Inhalt 2. Diese müsstest du dann noch in ein Int umwandeln. Das Rechenzeichen dazwischen kannst du mit der Methode contains() prüfen und demendsprechend darauf reagieren
contains() wird hier nochmal genauer erklärt :
https://www.delftstack.com/de/howto/java/how-to-check-if-a-string-contains-character-in-java/#:~:text=Die%20contains()%20Methode%20von,andernfalls%20gibt%20sie%20false%20zur%C3%BCck.
Ist zwar etwas umständlich, allerdings hätte ich keine andere Idee, wie man es sonst machen solll.