Math.floor und double Array

Loppo

Mitglied
Hallo,

ich habe einen double array, der wie folgt aussieht:

Java:
double a [] = {1.23 , 2.54 , 3.11 , 4.78 , 5.10 , 6.89, 7.34};

Wenn ich nun in mein Eingabefeld 0 eingebe, möchte ich das der Wert an Position 0, also 1.23, angezeigt wird. Bei 1, der Wert an Position 1 (2.54), bei 2 der Wert an Position 2 (3.11), usw.

Wie genau stellt man das an?

Gruß
Loppo
 
G

Gast2

Gast
Was hat das mit Math.floor zu tun?

Rausholen aus dem Array kannst du den Wert so:
Java:
int index = 0;
int wert = a[index]; // wert = 1.23
 
H

hüteüberhüte

Gast
Sie dir mal Arrays (Java Platform SE 6) an, ggf. einen Comparator schreiben

edit: ach so, es ging nur auf den Zugriff auf ein Element... Was hat das mit der Eingabe zu tun? Konsolen-/Kommandozeileneingabe? Heute sind leute auch nur schwer zu verstehen.
 
Zuletzt bearbeitet von einem Moderator:

Fab1

Top Contributor
Ganz einfach. Die Eingabe musst du erstmal in ein int parsen Integer (Java 2 Platform SE v1.4.2)

Jetzt solltest du noch überprüfen, ob die Eingabe in dem Bereich vom Array liegt. Also von 0 - (arraylänge-1)

Und musst du es nur noch ausgeben. Mit Console oder wie auch immer. Der Index entspricht dem geparsten int Wert.
 
H

hüteüberhüte

Gast
So 5. edit, bevor man alles falsch macht. Die Eingabe kannst du am besten mit einem BufferedReader oder einem Scanner einlesen und dann parsen
 

Loppo

Mitglied
Ganz einfach. Die Eingabe musst du erstmal in ein int parsen Integer (Java 2 Platform SE v1.4.2)

Jetzt solltest du noch überprüfen, ob die Eingabe in dem Bereich vom Array liegt. Also von 0 - (arraylänge-1)

Und musst du es nur noch ausgeben. Mit Console oder wie auch immer. Der Index entspricht dem geparsten int Wert.

Selbst mit dem Link schaffe ich es nicht, die Eingabe in ein int zu parsen. :oops: Verstehe ich das richtig, dass man die Eingabe (ein double) erstmal zum String machen muss und vom String dann zum int?
 
G

Gast2

Gast
Wie liest du denn ein? Und warum ließt du nen double ein wenn du auf nen arrayindex zugreifen willst? Zeig doch mal nen bißchen mehr code.
 

Loppo

Mitglied
Wie liest du denn ein? Und warum ließt du nen double ein wenn du auf nen arrayindex zugreifen willst? Zeig doch mal nen bißchen mehr code.

Double habe ich gewählt, weil ich bei Dezimaleingaben auch den Mittelwert bekommen möchte.

Zum Beispiel bei Eingabe 1.5 (Mittelwert aus 2.54 und 3.11 = 2,825).

An Code gibt es leider noch nicht mehr zu zeigen, als hier zu sehen ist.
 
G

Gast2

Gast
Ich hab mir den Thread jetzt noch zweimal durchgelesen, aber ich versteh einfach nicht was du willst.
Du hast nur eine Zeile Code, sagst dass es auch nicht mehr Code gibt. Wo findet denn da die Eingabe statt? Und was soll denn da schlussendlich rauskommen? Im ersten Post war noch von Indexzugriffen die Rede, jetzt sprichst du von Mittelwerten.
 

Loppo

Mitglied
Du hast nur eine Zeile Code, sagst dass es auch nicht mehr Code gibt. Wo findet denn da die Eingabe statt?
Genau das will ich ja hier rausfinden.

Und was soll denn da schlussendlich rauskommen? Im ersten Post war noch von Indexzugriffen die Rede, jetzt sprichst du von Mittelwerten.

Bei Ganzzahlen, soll der entsprechende Indexwert ausgegeben werden, bei Dezimalzahlen soll der entsprechende Mittelwert ausgegeben werden.
 
H

hüteüberhüte

Gast
Heute verstehe ich schon mehr/deutlicher.

Also, wenn die Eingabe eine Ganzzahl ist (natürliche Zahl inkls. 0), dann soll das Element an dem entsprechenden Index ausgegeben werden, wenn die Eingebe eine Fließkommazahl ist (reelle Zahl \ ganze Zahlen), dann soll ein "Mittelwert von zwei oder mehr Elementen" ausgegeben werden. Jetzt ist die Frage, was du genau mit Mittelwert meinst.

Ein Tutorial über die Ein- und Ausgabe findest du hier: Lesson: Basic I/O (The Java™ Tutorials > Essential Classes)
Ein Beispielcode hier: I/O from the Command Line (The Java™ Tutorials > Essential Classes > Basic I/O)

A program is often run from the command line and interacts with the user in the command line environment. The Java platform supports this kind of interaction in two ways: through the Standard Streams and through the Console.

Kannst dich also entweder eintscheiden, einen der Standart-Streams zu wählen oder z.B. mit Console oder Scanner zu arbeiten.

Google z.B. auch: java io tutorial - Google-Suche oder suche hier im Forum nach Beispielen. Beispiele gibt es wirklich en masse
 

Loppo

Mitglied
Ok, das Einlesen, bzw. Auslesen ist mein geringstes Problem. Das krieg ich schon hin. Mein Problem ist eher das ganze Konstrukt um den Array herum.
Wie muss die Eingabe erfolgen? Als String, als int, als double?
Wie kann die Eingabe den Wert aus dem Array herausholen?


Ich erkläre nochmal kurz (und hoffentlich verständlich), was ich genau vorhabe.

Ich gebe eine Ganzzahl ein. Die Ganzzahl soll den Wert an der entsprechenden Array-Position ausgeben.

double a [] = {1.23 , 2.54 , 3.11 , 4.78 , 5.10 , 6.89, 7.34};

Bei Eingabe 0 -> 1.23, bei Eingabe 1 -> 2.54, bei Eingabe 2 -> 3.11 usw.
Es soll aber auch möglich sein Dezimalzahlen einzugeben. Die Dezimalzahl
soll dann den Mittelwert der beiden Werte ausgeben, die im Index um sie herum
liegen.

Beispiele:

Bei Eingabe 0.5 -> Mittelwert aus 1.23 und 2.54, also 1,885.

Bei Eingabe 3.9 -> Mittelwert aus 4.78 und 5.10, also 4,94.

usw.
 
H

hüteüberhüte

Gast
Also die Eingabe erfolgt natürlich als String ;)

Habe das einmal in den Editor eingetippt:
Java:
import java.io.*;

public class Loppo {

public static void main(String[] args) throws IOException {
	double[] da = { 1.23, 2.54, 3.11, 4.78, 5.10, 6.89, 7.34 };

	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	System.out.println("int oder double eingeben:");
	String str;
	while ((str = br.readLine()) != null) {
		try {

			int i = Integer.parseInt(str);
			System.out.println(da[i]);
		} catch (NumberFormatException nfe) { 
			try {
				double d = Double.parseDouble(str);
				int i = (int) Math.floor(d);
				int j = (int) Math.ceil(d);
				if (i == j)
				System.out.println(da[i]);
				else
				System.out.println((da[i] + da[j]) / 2.0);
			} catch (NumberFormatException nfe2) { }
		}
	}
}

}
Das liefert die gewünschte Ausgabe (aber nach den Indices werden nicht geprüft):
Code:
int oder double eingeben:
0
1.23
1
2.54
2
3.11
0.5
1.885
3.9
4.9399999999999995
3.0
4.78
9
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
        at Loppo.main(Loppo.java:16)
Und wa soll dann geschehen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Datentypen Math.floor rundet nicht ab Java Basics - Anfänger-Themen 4
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
J Math.Random Java Basics - Anfänger-Themen 9
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
alialhajhossein math.random Java Basics - Anfänger-Themen 3
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
D Wahrscheinlichkeiten mit Math.random() Methode Java Basics - Anfänger-Themen 1
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
B Potenzrechnung mit WindowBuilder ohne math.pow() Java Basics - Anfänger-Themen 1
I math.random Grenzwerte Java Basics - Anfänger-Themen 2
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
B Potenzen ohne Math.pow Java Basics - Anfänger-Themen 4
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
S Math.ceil für float Java Basics - Anfänger-Themen 1
J Methoden Math.random unklar Java Basics - Anfänger-Themen 4
Thorwine Erste Schritte Wuerfelspiel mit Math.random() Java Basics - Anfänger-Themen 10
S Math.random() Zufall ? Java Basics - Anfänger-Themen 2
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
M Warum ist dieses Feld der Klasse Math immutable? Java Basics - Anfänger-Themen 7
X Problem mit Math.random() Java Basics - Anfänger-Themen 2
S math Methoden in Java (quadrat) Java Basics - Anfänger-Themen 7
T Random vs. Math.random() Java Basics - Anfänger-Themen 2
C Erste Schritte Math.sin und Co. funktionieren nicht Java Basics - Anfänger-Themen 5
A Potenzen ohne math.pow Java Basics - Anfänger-Themen 1
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
L Klassen Point- und Math-Klasse Java Basics - Anfänger-Themen 3
J Musterlösung Verständnis Frage zu Math.abs() Java Basics - Anfänger-Themen 5
J java.lang.math asin() Java Basics - Anfänger-Themen 18
T Zufallserzeugung mit math.random und speichern in array Java Basics - Anfänger-Themen 29
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
B Math.acos() Java Basics - Anfänger-Themen 4
N Methoden Probleme mit Math.cos Java Basics - Anfänger-Themen 3
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
J Methoden Rekursive Potenz ohne Math.Pow() Java Basics - Anfänger-Themen 9
Luk10 3. Wurzel mit Math.pow(x, (1/3)) Java Basics - Anfänger-Themen 2
F Problem Math.random in for-Schleife Java Basics - Anfänger-Themen 8
R (Math.random()*49) zahl darf aber nur einmal gezogen werden Java Basics - Anfänger-Themen 11
J Datentypen Math.sqrt() immer NaN Java Basics - Anfänger-Themen 8
T Ungenaue Werte bei Math.atan Java Basics - Anfänger-Themen 10
C math.random() Java Basics - Anfänger-Themen 9
M Math.round Java Basics - Anfänger-Themen 32
M Math Class Java Basics - Anfänger-Themen 2
R math.random wertebereich 16-21 Java Basics - Anfänger-Themen 3
B Math.random und Strings Java Basics - Anfänger-Themen 13
B Math.abs Java Basics - Anfänger-Themen 4
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
Luk10 math.random() Java Basics - Anfänger-Themen 2
T Math.signum Java Basics - Anfänger-Themen 2
N Math + Variablen + Ausgabe Java Basics - Anfänger-Themen 2
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
C math.pow funktionert nicht richtig oder garnicht Java Basics - Anfänger-Themen 4
G Quelltext von Methoden in der Klasse Math Java Basics - Anfänger-Themen 11
D runden ohne math! (zur not auch mit) Java Basics - Anfänger-Themen 9
G Klasse Math Java Basics - Anfänger-Themen 2
T Math.tan() Problem Java Basics - Anfänger-Themen 2
M Math.sin in Radiant in Java? Java Basics - Anfänger-Themen 5
C Math-Funktion Java Basics - Anfänger-Themen 10
S Math.tan Problem rechnet falsches Ergebniss aus. Java Basics - Anfänger-Themen 3
F Math.abs() Java Basics - Anfänger-Themen 3
J Math.random Java Basics - Anfänger-Themen 12
M Probleme mit Math.round() Java Basics - Anfänger-Themen 5
P Math.abs, praktische Anwendung? Java Basics - Anfänger-Themen 4
T Math.random() Zahlen von 25 - 50. Wie? Java Basics - Anfänger-Themen 7
H Brauche ganz dringend HILFEEE! Math random Java Basics - Anfänger-Themen 19
T Math.Random negativer Intervall Java Basics - Anfänger-Themen 2
M Eclipse: Fehler bei: import java.lang.math Java Basics - Anfänger-Themen 7
B Zahlenwiederholung bei Math.random verhindern Java Basics - Anfänger-Themen 4
D math und abs() Java Basics - Anfänger-Themen 14
J Zufallszahl ohne Math.random Java Basics - Anfänger-Themen 4
E Problem mit Methode Math.max Java Basics - Anfänger-Themen 2
A Probleme mit Math.random Java Basics - Anfänger-Themen 4
G Math.cos Java Basics - Anfänger-Themen 4
S Math-Befehl für Quadrieren! Java Basics - Anfänger-Themen 6
J Floor & Round?? Java Basics - Anfänger-Themen 2
W Double or Float zusammenrechnen Java Basics - Anfänger-Themen 15
I Review von euch erwünscht, double Rechnung falsch Java Basics - Anfänger-Themen 34
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
krgewb Double mit zwei Nachkommastellen Java Basics - Anfänger-Themen 2
B Produkt eines double - streams Java Basics - Anfänger-Themen 3
Lion.King Fehler in double und int Java Basics - Anfänger-Themen 7
F java: incompatible types: possible lossy conversion from double to int Java Basics - Anfänger-Themen 1
J Double Variable und Addition Java Basics - Anfänger-Themen 2
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
Kotelettklopfer Variablen Double zwingen Ganzzahlen mit 2 Nachkommastellen auszugeben Java Basics - Anfänger-Themen 10
A possible lossy conversion from double to int Java Basics - Anfänger-Themen 5
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
N The method setSaldo(double) in the type Konto is not applicable for the arguments (int, int) Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben