Punkt oder Kommanotation.

Centrius

Mitglied
Moin Moin,
ich bin gerade dabei Java zu lernen und kommt auch sehr gut damit zurecht.
Nun hab ich hier eine Aufgabe an der ich versage.
Ich soll ein "Quadratwertberechner" schreiben. Dieser soll allerdings sowohl Deutsche als auch Englische Werte lesen können. (Sprich zb. 5.5 (Englisch) und 5,5 (Deutsch)).
Als Tipp habe ich dort stehen ich soll einen zweiten Scanner mit anderen Ländereinstellungen erstellen.
Also ich hatte ihn soweit das er mich erst nach Deutschen Werten dann nach Englischen Werten gefragt hat, was aber nicht Sinn der Sache ist.
Ich möchte ja nur eine Zahl eingeben und er soll erkennen ob es sich dabei um Punkt oder Komma als "Trennzeichen" handelt.
Kann mir da jemand helfen ?


Hier mal mein bisheriger Code:
Java:
import java.util.*;


public class Quadratwert {

	public static void main(String[] args) 
	{
	
	Locale.setDefault(Locale.ENGLISH);
	Scanner input = new Scanner(System.in);
	//Locale.setDefault(Locale.GERMAN);
        //Scanner input = new Scanner(System.in);

	
	double quad;
	
	
	System.out.println("Bitte zu berechnende Zahl eingeben.");
	quad = input.nextDouble();
	
	quad *= quad;
	
	
	
	System.out.println("Quadratwert = " + quad);
	
	
	
	
	}

}
 

Eldorado

Bekanntes Mitglied
Wie wäre es, wenn du einfach einen String einliest und dann
Code:
str.replace(",",".");
machst. Dann musst du die Eingabe zwar selbst als Zahl validieren, aber du hast immer die Punkt-Notation.
 

Landei

Top Contributor
Yupp. Ländereinstellungen und so sind hübsch für Datumse und so, aber in diesem Fall ist das die einfachste Lösung.
 

Centrius

Mitglied
Gedanken hatte ich auch schon :)
Werde ich nachher mal versuchen.
Aber so wie es laut Tipp sein sollte, von wegen zweiten Scanner und zweite Ländereinstellungen hat keiner ne Idee ?
Aber ich bedanke mich schonmal für den Tipp von euch. Ich werde berichten sobald ich es hab :)
 
D

Dow Jones

Gast
Ich habe es nicht ausprobiert, aber möglicherweise ist die Aufgabe so gemeint:
1) zwei Scannerobjekte basierend auf System.in anlegen
2) locals der Scanner setzen ([c]germanScanner.useLocale( Locale.GERMAN );[/c])
3) bei Eingaben beide Scanner fragen ob sie die Eingabe auswerten koennen ([c] germanScanner.hasNextDouble();[/c])
4) bei dem richtigen Scanner die Methode nextDouble() aufrufen
 
V

vanny

Gast
Ich würde nur einen Scanner nehmen, prüfen ob ein Komma vorkommt und danach ein Flag setzen , um welches System es sich handelt und dementsprechend verfahren.
Ob du dann mit locale arbeitest, oder generell mit Double rechnest und replace() benutzt is dann deine Entscheidung.

Gruß Vanny
 

Centrius

Mitglied
Okay ich hab die Lösung gefunden.. wiedermal viel zu kompliziert nachgedacht ;-)
Ich bedanke mich noch einmal für eure Hilfe und Vorschläge :) Haben mir sehr geholfen auf den Gedanken zu kommen und auch einiges neues zu lernen!
Falls die Lösung jemand Interessiert:

Java:
//Quadratwert-berechner by Sascha

import java.util.*;

public class Quadratwert {

	public static void main(String[] args) 
	{
	
	Scanner germanScanner = new Scanner(System.in);
	germanScanner.useLocale(Locale.GERMAN);
	
	double quad;
	quad = 0;
	
	
	System.out.println("Bitte zu berechnende Zahl eingeben.");
	
	
	if (germanScanner.hasNextDouble())
	{	
		quad = germanScanner.nextDouble();
		quad *= quad;
	}
	
	else 
	{
		germanScanner.useLocale(Locale.ENGLISH);
		quad = germanScanner.nextDouble();
		quad *= quad;
	}

	System.out.println("Quadratwert = " + quad);
	
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
JavaBeginner22 Punkt auf Gerade Java Basics - Anfänger-Themen 59
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T Punkt zeichnen auf sinus Java Basics - Anfänger-Themen 7
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben