mehrere Objekte erzeugen < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | import java.util.*;
public class Main {
public static void main(String[] args) {
//Scanner Instanzierung (als Übergabeparameter Eingabestrom)
Scanner s = new Scanner(System.in);
//Objekt NR1 erzeigen
Auftrag NR1 = new Auftrag();
//Auftragsnummer einlesen
System.out.println("geben Sie bitte folgende Daten ein:");
System.out.print("Auftragsnummer:");
int a_nr = s.nextInt();
//Auftragsnummer ausgeben
NR1.setAuftragsnummer(a_nr);
System.out.println("ausgabe" + NR1.getAuftragsnummer());
}/scanner classe schlissen
}//main Ende
//classe Auftrag
public class Auftrag {
//Vareablenvereinbahrung
private int auftragsnummer;
//Auf die Auftragsnummer zugreifen und ausgeben mit set get
int getAuftragsnummer()
{
return auftragsnummer;
}
void setAuftragsnummer(int eing_auftragsnr)
{
auftragsnummer = eing_auftragsnr;
}
}//class Auftrag Ende |
Hallo, ich möchte von 20 Aufträgen die Auftragsnummer von der Tastatur einlesen und dann ausgeben. Also muss man 20 Objekte von classe Auftrag erzeugen also
-> Auftrag NR2 = new Auftrag();
Auftrag NR3 = new Auftrag(); u.s.w?
kann man das effektiver machen ohne das man (Auftrag NR3 = new Auftrag(); u.s.w? ) 20 mal schreiben muss?
würde mich über Tipps freuen
gruß capablanca
|
|
|
|
Hallo!
In C++ ginge das so:
Auftrag* a[20];
for(int i=0; i<20;i++){
a[i]=new Auftrag()
}
for(int i=0; i<20;i++){
a[i]->machWas();
}
Man macht sich also ein Array aus Pointern, und anschließend erzeugt man 20 Objekte, auf die die Pointer zeigen.
Ich kann kein Java, aber wenn ich das richtig sehe, läßt du da einfach das Sternchen weg, und aus dem -> wird ein Punkt. Beides wird in C benutzt , um klarzustellen, daß das Pointer sind, in Java gibts dies nicht.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:05 Mo 19.04.2010 | Autor: | capablanca |
Ja es ist anscheinend nicht viel unterschied zu C++ , dein Tipp hatt nämlich super funktioniert, nochmals vielen dank für die Hilfe!
gruß capablanca
|
|
|
|