Objekt erstellen und speichern

Roydebatzen

Mitglied
Hallo,

ich frage mich, wie ich aus sowas:
Java:
Klasse[] klasse = new Klasse[2];
klasse[1] = new Klasse(1,2);

dann wieder direkt etwas als das Objekt erstelle, in etwa so:
Java:
klasse[1]="hier steht ein Text, der die Zahlen 1 und 2 beinhaltet."

Ich will nämlich aus den eingegeben Zahlen etwas berechnen und dann in einem String zurückgeben.

Danke Roy
 
G

Gast2

Gast
Äh ja... hä?

Was genau willst du machen? In ein Array vom Typ Klasse kannst du keine Strings legen.
 
V

vanny

Gast
Der Typ Klasse könnte aber eine toString(); Methode besitzen, der eben das ausgibt.

Java:
klasse[1].toString();

würde dann tun, was du willst.

[EDIT]öhm bzw. ein Setter ala
Java:
klasse[1].setWasAuchImmer("String mit 1 und 2 ...");
egal wie, es hängt wohl an deinem Typ Klasse ^^[/EDIT]

Gruß Vanny
[TIPP]Versuche mal Klassen als solche zu erkennen, ohne sie "Klasse" zu nennen.
Vergib lieber aussagekräftige namen zBsp. "ZahlenContainer" oder so und noch besser gleich nen englischen ala "NumberContainer".
Irgendwann hast du Klasse1 und Klasse2 und und und... da schaut dann nie wieder jemand durch.[/TIPP]
 
Zuletzt bearbeitet von einem Moderator:
H

hüteüberhüte

Gast
Äh ja... hä?

Was genau willst du machen? In ein Array vom Typ Klasse kannst du keine Strings legen.

@EikeB: ich glaube er spielt darauf an, dass das Objekt von "Klasse" (also die Instanz) zwei Attribute beinhalten soll...

Dann einfach zwei Objekt-Variablen innerhalb von "Klasse" deklarieren und Werte im Konstruktor zuweisen...
 
V

vanny

Gast
...einfach zwei Objekt-Variablen innerhalb von "Klasse" deklarieren und Werte im Konstruktor zuweisen...

Das ist mit Vorsicht zu genießen.
Dann macht er seine Member public und gewöhnt sich nen schlechten Stil an.
Am besten ist gleich per Methode zu arbeiten um Ihn an die DatenKapselung zu gewöhnen.

Gruß Vanny

hier mal ein hoffentlich erhellendes Beispiel:
Java:
public class NumberContainer {
	
	private int firstValue; // erster Zahlenwert, hier int
	private int secondValue; // zweiter Zahlenwert, auch int
	
	//SetterMethoden um die Werte aus dem Konstruktor zuzuweisen
	private void setFirstValue(int value){
		this.firstValue = value;
	}
	
	private void setSecondValue(int value){
		this.secondValue = value;
	}
	
	//nun also der Konstruktor
	public NumberContainer(int firstValue, int secondValue){
		setFirstValue(firstValue);//hier wird der übergebene Wert zugewiesen
		setSecondValue(secondValue);//the same ^^
	}
	
	//und eine Methode um an deinen Satz zu kommen
	public String getTheString(){
		return ("Das ist der String mit " + this.firstValue + " und " + this.secondValue + " im Satz.");
	}
	
	
	//hier folgt nun die praktische Anwendung der Geschichte
	public static void main(String[] args) {
		NumberContainer[] numberContainerArray = new NumberContainer[2];
		numberContainerArray[0] = new NumberContainer(1, 2);
		numberContainerArray[1] = new NumberContainer(7, 8);
		
		System.out.println(numberContainerArray[0].getTheString());
		System.out.println("und");
		System.out.println(numberContainerArray[1].getTheString());
	}

}
 
Zuletzt bearbeitet von einem Moderator:

Roydebatzen

Mitglied
Ich will euch zeigen, was ich meine:

Java:
import java.util.*;

class TestPrices {

  static Random random = new Random(12345);

  public static void main(String[] args) {
    int n;
    try {
      n = Integer.parseInt(args[0]);
    } catch (ArrayIndexOutOfBoundsException e) {
      Out.println("Aufruf: TestPrices Arraygroesse");
      return;
    } catch (NumberFormatException e) {
      Out.println("n muss ganze Zahl sein");
      return;
    }
    Prices[] a = new Prices[n];
    for (int i = 0; i < a.length; ++i) {
      Out.print("Bitte Menge und Preis eingeben: ");
      a[i] = new Prices(In.readInt(), (int) (In.readDouble() * 100 + 0.5));
    }
    Out.println();
    Out.println("Vor Sortieren:");
    SomeUtilities.print(a);
    SomeUtilities.selectionSort(a);
    Out.println();
    Out.println("Nach Sortieren:");
    SomeUtilities.print(a);
  }

}

Java:
class SomeUtilities {

  static void selectionSort(Prices[] a) {
    // muss ergaenzt werden
  }

  // fuer e) darf eine weitere Selection Sort Methode ergaenzt werden.

  static void print(Prices[] a) {
    for (Prices p: a) {
      Out.println(p);
    }
  }

}

Dieses p was in SomeUtilities ausgegeben wird, ist ja eine Element des Arrays aus a.
Dieses Element, wird aber weiter oben initialisiert durch 2 Zahlen.
Nun will ich während ich den Konstruktor erstelle, in dieses Feld(a) den String schreiben.
Also ungefähr so:

Java:
public class Prices{

public Prices(int z1, int z2){
this.variable1=z1;
this.variable2=z2;

toString(int z1,int z2)//Eine Methode die es in einen Sting umwandel
//Wie kommt jetzt aber der String wieder raus aus dem Konstruktor in das jeweilige a[i]?

}
}

Noh etwas, ich darf weder Prices noch SomeUtilities verändern(also etwas löschen).
 
G

Gast2

Gast
Die toString() Methode deiner Price Klasse ist murks.
Die bei dir z.b. so ausschauen:
Java:
public String toString() {
  return variable1 + " " + variable2;
}
(Ich hoffe du hast die Variablen in deiner Klasse angelegt, und nur vergessen die hier zu posten...

//Wie kommt jetzt aber der String wieder raus aus dem Konstruktor in das jeweilige a?

Was meinst du damit? Ich habs oben schon erwähnt: In ein Array vom Typ Price kannst du keine Strings stecken.
 

Roydebatzen

Mitglied
Achso natürlich, ich habe meine toStringmethode gar nicht gepostet.

Aber ich muss da irgendwie einen String reinstecken, das ist die Aufgabe.
Oder seh ich das falsch, die Ausgabe aus SomeUtilities ist doch eine Kopie eines Arrayfeldes aus Prices.
Die Frage bleibt, wie bekomme ich in dieses Pricesobjekt(nicht das Array) durch aufrufen eines Konstruktors einen String.
 
Zuletzt bearbeitet:
G

Gast2

Gast
Du musst da keinen String "reinstecken". Die Stringrepräsentation des Objekts ergibt sich doch aus den Werten des Objekts. Wenn du die toString() Methode richtig implementiert ist reicht dir folgender Code in der print Methode:
Java:
for (Price p : a) {
  System.out.println(p);
}
 

Roydebatzen

Mitglied
Hi,

ich versteh deine Sprache nicht ganz, trotzdem klingt es iwie richtig.
Also ich will eine Stringrepräsentation anstelle des Objekts, um so das Feld a welches gleich p ist als String zu haben.

Ich versteh nicht, wie sich das aus den Werten des Objekts ergibt.

Da ich es nicht verstanden habe, aber denke das es iwie richtig ist, frag ich jetzt mal gegen:

Wenn ich dort wo ich den Methodenaufruf der toStringmethode geschrieben habe, danach dann eine lebende Stringvariable mit meinem gesuchten Text habe, dann hat die ja die Adresse wie, a.string
jetzt will ich aber in Wirklichkeit a=string
da ja a kopiert wird auf p
und dann ausgegeben wird,
kann das aber nicht machen, da ich ja gar kein richtiges a habe.


Oder meinst du es ist egal das die Adresse a.string ist und es wird trotzdem ausgelesen?
Dann müsste ich nurnoch alle anderen Adressen raushalten und nur a.string übergeben und wäre ferdsch
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Kleines "toString()"-Tutorial. Versuch' mal folgendes KSKB, es sollte dir zeigen, wie eine gut durchdachte [c]<Object>.toString()[/c] Methode arbeitet.
Java:
public class ToStringTut
{
  private final Object outVar;

  private ToStringTut(Object var)
  {
    outVar = var;
  }

  public static void main(String[] args)
  {
    for(int n = 0; n < 100; n++) {
      System.out.println(new ToStringTut(n));
    }
  }

  @Override
  public String toString()
  {
    return "outVar ist " + outVar.toString() + ".";
  }
}
Demnach müsstest du in deiner Price-Klasse lediglich die Preise als Member speichern und in einer entsprechend überschriebenen "toString()" Methode bei der Ausgabe berücksichtigen.
 

Roydebatzen

Mitglied
Eclipse sagt das dein Beispiel nicht funktioniert.

Aber auch da ist wieder der richtige Ansatz,da ich ja wirklich was überschreiben will.

Nur bin ich jetzt immernoch nicht weiter.
 
S

Spacerat

Gast
Dein Eclipse soll sich nicht so einpfeiffen XD... Der Code ist für Java V5+ vollkommen in Ordnung (Obwohl: Das kleine "o" von "@Override" ist inzwischen verbessert). ;)
Na was soll's... vllt. probierst mal folgende Price-Klasse (natürlich die etwas günstigere :lol:)
Java:
public class Prices
{
	private int variable1, variable2;

	public Prices(int z1, int z2)
	{
		this.variable1=z1;
		this.variable2=z2;
	}

	@Override
	public String toString()
	{
		return "Price: " + variable1 + "; " + variable2;
	}
}
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L OOP Neues Objekt bei jeder Eingabe erstellen (Objekte speichern?) Java Basics - Anfänger-Themen 10
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
H Objekt mit Methode erstellen Java Basics - Anfänger-Themen 6
B Mit methode Objekt aus anderer Klasse erstellen Java Basics - Anfänger-Themen 6
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
M Graphics2D Objekt mir der Maus erstellen Java Basics - Anfänger-Themen 5
V OOP Wozu Objekt erstellen? Java Basics - Anfänger-Themen 2
E Methoden Auf Methoden einer Klasse zugreifen, ohne ein Objekt zu erstellen Java Basics - Anfänger-Themen 2
W Objekt einer Unterklasse erstellen Java Basics - Anfänger-Themen 4
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F Klassen für Objekt richtig erstellen Java Basics - Anfänger-Themen 8
C String Objekt erstellen auch ohne new() möglich? Java Basics - Anfänger-Themen 5
K Objekt erstellen - error: non-static variable this cannot be referenced from a static context Java Basics - Anfänger-Themen 17
T objekt erstellen, set/get methoden Java Basics - Anfänger-Themen 16
B Klassen über Main Klasse in einer anderen Klasse ein Objekt erstellen Java Basics - Anfänger-Themen 5
E Compiler-Fehler kann Objekt-Referenz nicht erstellen Java Basics - Anfänger-Themen 3
H Ein Objekt erstellen Java Basics - Anfänger-Themen 12
L Aus einer String Variablen ein Objekt erstellen Java Basics - Anfänger-Themen 14
D aus einem einzeiligen String ein neues Objekt erstellen Java Basics - Anfänger-Themen 5
M Aufruf zum Objekt erstellen aus String Java Basics - Anfänger-Themen 5
M Neues Objekt erstellen Java Basics - Anfänger-Themen 3
E Objekt entweder erstellen oder erweitern Java Basics - Anfänger-Themen 4
D Neues Objekt in Methode erstellen möglich? Java Basics - Anfänger-Themen 5
Z objekt erstellen von canonical name einer klasse Java Basics - Anfänger-Themen 6
V objekt einer Klasse erstellen Java Basics - Anfänger-Themen 21
T File-Objekt aus getClass().getResource() erstellen? Java Basics - Anfänger-Themen 5
L objekt erstellen Java Basics - Anfänger-Themen 9
O Array-Objekt erstellen Java Basics - Anfänger-Themen 11
W Objekt-Namen aus Variablennamen erstellen Java Basics - Anfänger-Themen 7
P Objekt aus einem Class Objekt erstellen? Java Basics - Anfänger-Themen 10
A neues Objekt in main methode erstellen Java Basics - Anfänger-Themen 2
M Objekt erstellen Java Basics - Anfänger-Themen 8
K Array von einem eigenen Objekt erstellen Java Basics - Anfänger-Themen 5
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
I JSON in Objekt umwandeln Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
Say Objekt Java Basics - Anfänger-Themen 4
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ? Java Basics - Anfänger-Themen 3
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
M BlueJ Objekt in Objektliste Java Basics - Anfänger-Themen 2
B Objekt in Klassendiagramm an fremdes Objekt weiterreichen? Java Basics - Anfänger-Themen 6
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
amelie123456 Objekt Farbe Quellcode Java Basics - Anfänger-Themen 4
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
melaniemueller Fernseher als Objekt Java Basics - Anfänger-Themen 9
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
B Objekt kopieren und sämtliche Referenzen von diesem Objekt? Java Basics - Anfänger-Themen 3
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
S Aufzurufendes Objekt Java Basics - Anfänger-Themen 3
CptK Überprüfen ob übergebenes Objekt zu Generics passt Java Basics - Anfänger-Themen 2
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
P Ein Objekt nach einem String durchsuchen? Java Basics - Anfänger-Themen 7
S Objekt aus Arraylist in andere Arraylist kopieren? Java Basics - Anfänger-Themen 2
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Objekt von EJB in Controller (CDI) - Klasse füllen? Java Basics - Anfänger-Themen 3
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
N LocalTime einem Objekt zuweisen Java Basics - Anfänger-Themen 2
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
M ArrayList - Objekt kopieren und ändern Java Basics - Anfänger-Themen 11
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
J Y-Koordinate von GUI-Objekt bestimmen Java Basics - Anfänger-Themen 2
M Auf erstelltes Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 5
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
M Objekt mit eindeutiger ID löschen, das nächste Objekt hat dann diese ID Java Basics - Anfänger-Themen 5
N Mit Objekt der Superklasse auf Methode der Subklasse zugreifen Java Basics - Anfänger-Themen 6
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
H Objekt aus einem Array löschen Java Basics - Anfänger-Themen 1
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11

Ähnliche Java Themen


Oben