Archivlink: javarea.de Forum > JavaScript > Java (sun) Object --> double --> Object?
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Java (sun) Object --> double --> Object?
Pages: [1]
2
... nächste »
... Letzte »
| geschrieben von Micha am 09.06.2005 - 07:32 |
Hi kleines Problem:
Ich habe ein Object-Array, in dem Werte stehen, die ich umrechnen will und dann dem Array wieder zueisen möchte:
Die einzelnen Zellen in einen double zu machen, ist kein Problem, das habe ich mit:
| HTML-Quelltext | 1:
| Double.valueOf(value.toString()).doubleValue(); |
hinbekommen.
Problem ist nun, wie mache ich aus diesem double wieder ein Typ Object?
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
| public static Object measures (Object value, int item){
double valuereal = Double.valueOf(value.toString()).doubleValue();
switch (item) {
case 0:
valuereal /=1000; // 1mm
break;
case 1:
valuereal = (valuereal/1000) / 3.28084; // 1 m = 3.28084 ft
break;
// usw.
value = Double.valueOf(valuereal); <-- Hier ist der Knackpunkt
}
return value;
} |
Micha |
| geschrieben von Patrick am 12.06.2005 - 12:28 |
Servus,
ich denke, der folgende Link sollte dir helfen. Ist nur noch im google-Cache vorhanden aber dafür ist der cache ja da, man kommt ran 
http://216.239.59.104/search?q=cach....&hl=de
viel erfolg |
| geschrieben von Micha am 12.06.2005 - 13:08 |
Hi Patrick
Danke für den Link. Demnach müsste ja double.toObject(); gehen, machts aber nicht.
Das ist nun mein Return (aus der Methode oben)
| HTML-Quelltext | 1:
2:
3:
4:
5:
| value = valuereal.toObject();
}
return value;
} |
Der Compiler meint dazu:
| Zitat | | | double cannot be dereferenced
value = valuereal.toObject();
---------------------^ |
Noch eine Idee?
Micha |
| geschrieben von Patrick am 12.06.2005 - 17:41 |
versuch mal
value = new Object(valuereal).toObject()
bin mir nicht sicher ob das mit Object klappt aber versuch einfach mal.
|
| geschrieben von Micha am 12.06.2005 - 20:11 |
Nein, geht leider nicht. Ich mache nun den Umweg über ein Double-Object.
temp = new Double(valuereal);
und weise dieses dann problemlos meinem Object zu.
Einen primitven Datentyp kann ich scheinbar nciht so einfach konvertieren?!? Wobei Du mir vll mal den Unterschied zw Double und double erklären könntest 
Mit Double zahl = new Double(3.14); kann ich ja irgendwie nicht rechnen, oder doch?
Micha |
| geschrieben von Patrick am 13.06.2005 - 19:36 |
sorry aber da habe ich im Moment leider keine Idee...
ich werde mal in meinen Büchern nachschlagen,s obald ich was gefunden habe melde ich mich wieder |
| geschrieben von Matneu am 13.06.2005 - 21:12 |
|
| geschrieben von Micha am 13.06.2005 - 21:44 |
Zunächst weiss ich noch gar nicht, ob meine Herangehensweise so die richtige ist. Aber um trotzdem Deine Frage zu beantwoerten
In die Methode übergene ich eine Zelle des Feldes, also deren Inhalt = value (bsp meinfeld[3] entspricht in der Methode nachher value). Dieses Feld ist vom Typ(?) Object. Somit scheinen auch deren Zellen von diesem Typ zu sein (obwohl ich gedacht hatte, ich kann verschiedene Typen in so einem Feld unterbringen).
Damit sind wir auch bei meiner ursprünglichen Idee. Ich wollte verschiedene Werte (also unterschiedliche Datentypen), die aber im direken Zusammenhang stehen, in einem Array unterbringen.
Ich lese dazu eine Datei ein, die in verschiedene Blöcke geteilt ist. Nun splitte ich das ganze ein wenig auf um letztlich auf einzelne Werte zu zugreifen.
Vorkommen können Integer, Char und Doublewerte in einem Block. Nun stand ich vor der Wahl - alles als String oder eben als Object, wobei ich mir von letzteren mehr versprochen habe. Zu meiner Entschuldigung muss ich aber sagen, das ich bisher nie etwas mit Double oder Object getan habe und das eigentlich mal der erste Versuch war...
Wenn Du mir an einem kleinen Bsp sagst, was die Instanz nochmal war^^, dann bestätige ich das gern. Vll versteh ich dann auch, warum man damit nicht rechnen kann...
Micha |
| geschrieben von Matneu am 13.06.2005 - 22:55 |
|
| geschrieben von Micha am 13.06.2005 - 23:22 |
|
| geschrieben von Matneu am 14.06.2005 - 12:54 |
|
| geschrieben von Micha am 14.06.2005 - 18:00 |
@weisnix
Das habe ich und ich finde es mit verlaub beschissen. Aber das fand ich seiner Zeit auch bei selfHTML so, was sich mitlerweile geändert hat. Mag sein, dass bei intensiven studium der Lektüre, sowas wie Begeisterung bei mir aufkommt ^^
@Matthias
hehe, keine Sorge, das, was ich mache, ist mit nichten das, was man ia unter OOP versteht. Nichtsdestotrotz habe ich auch hier die Probleme, verschiedene Typen in einander zu parsen. Arrays sind dabei das kleineste Problem, da ich damit ganz gut kann. Das war noch Teil der Vorlesung aber alles andere eben nicht. Und die Verwendung eines Arrays macht ja OOP nicht aus 
Letztlich ist mir immer noch nciht klar, was der wirkliche Unterschied zw Double und double ist )
Naja, mal sehen, ob ich es doch anders lösen sollte...
Schöne Grüße Micha |
| geschrieben von Matneu am 14.06.2005 - 22:54 |
|
| geschrieben von Micha am 14.06.2005 - 23:48 |
Danke für die Mühe, wenn ich den Ansatz (mal) verstanden habe, dann wird sicher vieles einleuchtender aber bis dahin...
Was habe ich erreicht, wenn ich aus
double a = 3.14;
Double A = new Double(a);
gemacht habe, also welchen Vorteil bietet es und in wie fern kann ich damit weiter arbeiten? Ein simples Rechnen scheint ja dann nciht mehr möglich zu sein (ohne es wieder mit doubleValue(); zurück zu wandeln) - da es kein Datentyp mehr ist. Was könnte ich also dann noch mit A machen?
Ich studiere Vermessungswesen und hatte ein Semester (das 3te glaube ich) Java in Datenverarbeitung. Entstanden sind dabei dann kleiner Problemlösungen, die auf der Konsole funktionieren - also nicht _die_ Reißer 
Alles, was ich nun mache, ist reines "privat Vergnügen". Daher kann ich mit den Fachbegriffen nicht mehr soviel anfangen.
Wenn Du mir somit sagst, das Double eine Klasse ist, dann muss ich schon (fast) passen, da ich im Prinzip nur die main class kennengelernt habe.
Was ich mal nebenbei so aufgeschnapt habe war irgendwie(!) sowas:
| HTML-Quelltext | 1:
2:
3:
4:
5:
| public class viereck{
public static double flaeche (double seite1,double seite2){
return (seite1*seite2);
}
} |
und
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
| public class rechne {
public static void main (String[] args) {
viereck A = new viereck();
System.out.println(A.flaeche(4,4));
}
} |
Wobei ich mir ziemlich sicher bin, das ich das Objekt viereck() anderes damals gemacht habe, so dass ich es mit new viereck(3,4), also mit den Seiten direkt aufrufen konnte und auch die Methoden die Parameter mit verarbeiten konnten --> A.flache();.
Der Code oben scheint noch nciht ganz zu passen. Der Compiler von SUN hat zwar so ncihts auszusetzen aber jikes kreidet was an, leider ist deren Fehlermeldung immer etwas undurchsichtig :-/
Ich meine da muss wohl noch eine Methode mit in die Klasse, aber ich kann mich nicht mehr so recht entsinnen....
Es scheint aber im Ansatz schon mal richtig zu sein, oder?
Micha |
|