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.
public interface test{
public boolean compare(test z2);
}
class tako implements test{
int number;
//...
public boolean compare(test z2){
//hier soll ich number vergleichen, mit dem übergebenen Parameter, aber wie? z2 ist doch nur das interface, was tako implementiert hat?
}
}
hier soll ich number vergleichen, mit dem übergebenen Parameter, aber wie? z2 ist doch nur das interface, was tako implementiert hat?
und ich habe noch den Fehler:
Java:
public class gecig {
private LocalDate date;
private int[] number;
// ...
public void setnumbers(String ... number){
number= new int[number.length]; //error int[] cannot be converted to string[}???
for (int i=0; i<zahlen.length;i++){
this.zahlen[i]=Integer.parseInt(zahlen[i]);
}
}
Ich soll laut Aufgabenstellung die lenge von number festlegen mit dem übergebenen number von der Methdoe und danach noch den String einfügen nacheinander, ,mein Problem ist nur, dass wenn ich zahlen.length mache, mir gesagt wird, dass ein int nicht zu einem string konvertiert werden kann...
EDIT: Im Gültigkeitsbereich (hier der Methode "setNumbers") kann es einen Variablennamen nur einmal geben. Durch den Parameternamen "number" wird dieser bereits verwendet. Du kannst also keine neue Variable mit dem selben Namen...
Es wird als Parameter ein Typ test (Klassen werden in Java mit einem Großbuchstaben am Anfang geschrieben) übergeben und der hat eine Instanzvariable "number" mit dem du die eigene "number" vergleichen kannst.
okay, aber ich kann das doch wie einen Array verwenden und auch number.length und number.length ist ja eine int zahl die ich erhalte, warum kann ich die nicht einfügen? Normaleweise, wenn ich einene string array habe geht das doch immer? UNd mri wurde gesagt, dass auch diese ... wie normale Arrays sind, nur dynamisch.
Aber test ist ja das interface und hat garkeine instanzvariablen, nur die methode da
okay, aber ich kann das doch wie einen Array verwenden und auch number.length und number.length ist ja eine int zahl die ich erhalte, warum kann ich die nicht einfügen?
Zum ersten Teil, genau es steht da new int, aber ich mach da in den Klammern ja nur die Größe des Arrays fest, da ist es doch eigentlich egal, ob ich von einem STring array die .length Methode verwende, die .length Methode bei Arrays gibt ja eigentlich nur einen int wert zurück, den ich ja genau bei new int[hier] benötige?
Zum ersten Teil, genau es steht da new int, aber ich mach da in den Klammern ja nur die Größe des Arrays fest, da ist es doch eigentlich egal, ob ich von einem STring array die .length Methode verwende, die .length Methode bei Arrays gibt ja eigentlich nur einen int wert zurück, den ich ja genau bei new int[hier] benötige?
Es geht doch auch nicht um die Verwendung von lenght und die Erzeugung eines int-Arrays. Du kannst das int-Array nur nicht dem String-Array zuweisen, was die Fehlermeldung auch besagt: "int[] cannot be converted to string[]"
Wenn du an der Stelle ein int-Array erzeugen willst, dann musst du dem halt einen anderen Namen geben, als den bereits im Parameter verwendeten.
Es geht doch auch nicht um die Verwendung von lenght und die Erzeugung eines int-Arrays. Du kannst das int-Array nur nicht dem String-Array zuweisen, was die Fehlermeldung auch besagt: "int[] cannot be converted to string[]"
number = new int[temp];
mache geht es trotzdem nicht.
Wenn man jedoch
z. B.
String[] test= new String[109];
hat und dann
number= new int[test.length);
machen würde, würde jetzt diese Zuweisen ja gehen oder nicht? Und hier habe ich das doch auch vone inem String
,
(Ich soll bei der Aufgabenstellung die Länge von dem übergebenen String, also dei Anzahl der Parameter verwenden, um die Läng emeines int Arrays zu erstellen, also new int [laenge]. Kann natürlich die string durhcgehen lassen, einen Counter dabei ersetllen und dann den counter einfügen bei new int[hier], aber wollte nur wissen, ob das wie normal auch geht.
EDIT: Im Gültigkeitsbereich (hier der Methode "setNumbers") kann es einen Variablennamen nur einmal geben. Durch den Parameternamen "number" wird dieser bereits verwendet. Du kannst also keine neue Variable mit dem selben Namen erstellen und da es sich um eine Parametervariable vom Typ String-Array handelt, kannst du ihr auch keinen Wert eines anderen Typen zuweisen.
Du kannst prüfen, ob die übergebene Instanz vom gleichen Typ ist, wie die eigene (die Klasse Tako) und anschließend zu diesem Typ casten. Danach kannst du die Instanzvariablen vergleichen. Was Schöneres fällt mir grad nicht ein.