Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
kann man bitte jemand von euch sagen, wie genau die konstruktion eines arrays in der klasse CounterTester2 heißen muss?
Vielen dank für eure hilfe. dieses forum ist echt gut!
hier zuerst die klasse, in der ich einen konstruktor habe, um arrays vom typ int zu bauen.
Java:
class Counter2 {
int [] array; //klassenvariable
counter2 (int [] array) { //konstruktor
this.array=array;
}
public static int los2 (int[] array, int a) { //klassenmethode
int result=0;
for(int i=0; i<array.length; i++) {
if(array[i]==a) {
result++;
}
}
return result;
}
}
jetzt meine klasse, in der das erstellen des neuen arrays immer wieder falsch ist, habe im internet ne frage zu genau diesem thema gefunden, sogar mit antwort, habe es dann genau so gemacht, aber es ist immer noch etwas falsch:
Java:
class counterTester2 {
public static void main (String[] args) { //main-methode
counter2 [] feld = new counter2 [4];
int [] feld = {1,2,3,3};
System.out.println(); //hier soll dann die methode rein, die z.b. die
//dreien im array zählt
}
}
//Fehlerausgabe: 1 Fehler --> feld is already defined
Das ist schonmal falsch. Der Konstruktor baut dir ein Objekt vom Typ Counter2.
Außerdem schreibst du die Klasse groß, beim Konstruktor dann wieder klein und in der main auch klein. Entscheide dich da für eine Schreibweise (am besten groß!).
In der main erzeugst du ein Array für Counter2 Objekte, das muss aber noch gefüllt werden.
schon mal vielen dank für deine antwort.ich habe jetzt schon etwas weitergemacht, aber es haut immer noch nicht hin.
Java:
class counterTester2 {
public static void main (String[] args) {
counter2 [] feld = new counter2 [4];
int [] counter2 = {1,2,3,3};
System.out.println(counter2.los2(feld[],3));
}
}
1. verstehe ich nicht, wie die zeile :counter2 [] feld = new ..... überhaupt funktionieren kann, denn da steht ja nirgends ein int oder double oder sonstiges.
2. verstehe ich nicht, wieso der methodenaufruf nicht funktioniert unter System.out.println(...)
bisher kannte ich es immer so, dass ich ne klasse habe, mir da konstruktoren baue, dann anschließend in einer testklasse objekte erzeuge und dann methoden drauf anwende, wie z.b.:
und jetzt das bauen eines objektes und anwenden der methoden darauf:
Java:
class BankkontoTester {
public static void main (String [] args) {
Bankkonto max = new Bankkonto ("1134","Max", 789645.78);
System.out.println(max.aktuellerKontostand());
tini.einzahlung(45.45);
tini.auszahlung(450);
System.out.println(max.aktuellerKontostand());
}
}
wenn mir bitte jemand den unterschied erklären könnte. ich verstehs wirklich nicht. bei der bankkonto-geschichte ist es so einfach, aber bei den arrays hauts einfach nicht mehr hin!
daher habe ich diese frage ja auch im anfängerforum gestellt.
ich möchte java lernen und habe meine frage daher hier gepostet.
ein guter anfang wäre es gewesen, hättest du mir neben deiner kritik auch etwas geholfen.
außerdem finde ich meine frage berechtigt, da es für mich als laien doch eigentlich aussieht wie immer.
eine klasse mit konstruktor und methode, dann eine testklasse, die ein objekt erzeugt und methoden auf dieses objekt anwendet.
geht nicht, abgesehen vom fraglichen Klassenname, einem Counter-Array kann man kein einzelnes Objekt zuweisen,
überhaupt lieber gar nicht erst versuchen, zuviel in eine Zeile zu packen
Java:
int[] daten = ..;
Counter einCounter = new Counter(daten);
daher habe ich diese frage ja auch im anfängerforum gestellt.
ich möchte java lernen und habe meine frage daher hier gepostet.
ein guter anfang wäre es gewesen, hättest du mir neben deiner kritik auch etwas geholfen.
außerdem finde ich meine frage berechtigt, da es für mich als laien doch eigentlich aussieht wie immer.
eine klasse mit konstruktor und methode, dann eine testklasse, die ein objekt erzeugt und methoden auf dieses objekt anwendet.