G
Guest
Gast
hi ich brauche mal eure hilfe, ich habe hier mehrere methoden die zum üben sind(für mich),um mit methoden umgehen zu können.ich habe schon paar lösungsvorschläge aber die sind ned ganz richtig laut junit test,ich hoffe ihr könnt mir helfen:
1.
static public int AnzahlVerschiedeneStringR(String[] r) {
// Liefert die Anzahl der verschiedenen Komponenten von r
// (d.h. wenn z.B. 3 Komponenten von r gleich sind, werden sie
// nur als EINE "verschiedene Komponente" gezaehlt).
int erg =0;
s1:for(int i=0;i<r.length;i++){
s2:for(int j=i+1;i<r.length;j++){
if(r.equals(r[j]))continue s1;
}
erg++;
}
return erg;
} // AnzahlVerschiedeneStringR leider vehrkehrt, ich dachte immer um die gleichheit von strings zu vergleichen
mit equals.
2.static public boolean EnthaeltDoppelteStringAL(ArrayList<String> al) { // ***
// Liefert true, wenn mindestens zwei Komponenten von al
// gleich sind (die Komponenten muessen aber nicht identisch sein!).
for (int i = 0; i < al.size(); i++) {
for(int j=i+1;i<al.size();j++){
if(i==i)return true;
if(al.get(i).equals(al.get(j)))
return true;
}
}
return false;
} // hier selbige problem
3.static public boolean EnthaeltDoppelteIntAL(ArrayList<Integer> al) { // **
// Liefert true, wenn mindestens zwei Komponenten von al gleich sind.
s1:for (int i = 0; i < al.size(); i++) {
s2:for(int j=i+1;i<al.size();j++){
if(i==i)return true;
if(al.get(i).equals(al.get(j)))continue s1;
return true;
}
}
return false;
} // EnthaeltDoppelteIntAL und wie geht es hier richtig?
lieben gruß
1.
static public int AnzahlVerschiedeneStringR(String[] r) {
// Liefert die Anzahl der verschiedenen Komponenten von r
// (d.h. wenn z.B. 3 Komponenten von r gleich sind, werden sie
// nur als EINE "verschiedene Komponente" gezaehlt).
int erg =0;
s1:for(int i=0;i<r.length;i++){
s2:for(int j=i+1;i<r.length;j++){
if(r.equals(r[j]))continue s1;
}
erg++;
}
return erg;
} // AnzahlVerschiedeneStringR leider vehrkehrt, ich dachte immer um die gleichheit von strings zu vergleichen
mit equals.
2.static public boolean EnthaeltDoppelteStringAL(ArrayList<String> al) { // ***
// Liefert true, wenn mindestens zwei Komponenten von al
// gleich sind (die Komponenten muessen aber nicht identisch sein!).
for (int i = 0; i < al.size(); i++) {
for(int j=i+1;i<al.size();j++){
if(i==i)return true;
if(al.get(i).equals(al.get(j)))
return true;
}
}
return false;
} // hier selbige problem
3.static public boolean EnthaeltDoppelteIntAL(ArrayList<Integer> al) { // **
// Liefert true, wenn mindestens zwei Komponenten von al gleich sind.
s1:for (int i = 0; i < al.size(); i++) {
s2:for(int j=i+1;i<al.size();j++){
if(i==i)return true;
if(al.get(i).equals(al.get(j)))continue s1;
return true;
}
}
return false;
} // EnthaeltDoppelteIntAL und wie geht es hier richtig?
lieben gruß