Hey Leute,
also ich hab eine Aufgabe die sich mit Strings beschäftigt und habe jetzt mit 2 Methoden eiin paar probleme
Aufgabenstellung:
"
Definieren Sie eine veränderliche Klasse RepString, ¤ die einen String repräsentiert, der aus einem
mehrfach wiederholten Wort besteht. Die Bestandteile eines RepString-Objektes sind das Wort (word) und
der nicht-negative Wiederholungs-Zähler (count). Ein Beispiel: Wenn das Wort "ja" viermal wiederholt
wird, entsteht der Repstring 4×"ja", ausgeschrieben "jajajaja".
Die ausgeschriebene Form ist nicht eindeutig! "jajajaja" kann der Repstring 4×"ja" sein, aber auch
2×"jaja" oder 1×"jajajaja".
"
1. normalize
Maximiert den Zähler dieses Repstrings. Wenn das Wort leer ist, geschieht nichts. Liefert
diesen Repstring zurück.
Zu dieser Methode hab ich leider keinen Plan wie ich diese verwircklichen soll für einen Denkanstoß wäre ich sehr dankbar ...
2.less
stellt fest, ob this ein echtes Präfix ¤ von eines weiteren Repstrings ist. Der Vergleich bezieht
sich auf die ausgeschriebene Form.
Diese Methode hab e ich bereits geschrieben funtzt aber nicht
Danke schon mal ^^
also ich hab eine Aufgabe die sich mit Strings beschäftigt und habe jetzt mit 2 Methoden eiin paar probleme
Aufgabenstellung:
"
Definieren Sie eine veränderliche Klasse RepString, ¤ die einen String repräsentiert, der aus einem
mehrfach wiederholten Wort besteht. Die Bestandteile eines RepString-Objektes sind das Wort (word) und
der nicht-negative Wiederholungs-Zähler (count). Ein Beispiel: Wenn das Wort "ja" viermal wiederholt
wird, entsteht der Repstring 4×"ja", ausgeschrieben "jajajaja".
Die ausgeschriebene Form ist nicht eindeutig! "jajajaja" kann der Repstring 4×"ja" sein, aber auch
2×"jaja" oder 1×"jajajaja".
"
1. normalize
Maximiert den Zähler dieses Repstrings. Wenn das Wort leer ist, geschieht nichts. Liefert
diesen Repstring zurück.
Zu dieser Methode hab ich leider keinen Plan wie ich diese verwircklichen soll für einen Denkanstoß wäre ich sehr dankbar ...
2.less
stellt fest, ob this ein echtes Präfix ¤ von eines weiteren Repstrings ist. Der Vergleich bezieht
sich auf die ausgeschriebene Form.
Diese Methode hab e ich bereits geschrieben funtzt aber nicht
Java:
public class RepString
{
private int count;
private String word;
private String z= "\"";
public RepString(int a, String s)
{
count = a;
word = s;
if(this.word.equals(""))
throw new IllegalArgumentException("null word");
}
public RepString(String s, int a)
{
word = s;
count = a;
if(this.word.equals(""))
throw new IllegalArgumentException("null word");
}
private void setCount(int a)
{
a = count;
}
private void setWord(String a)
{
a = word;
}
public int getCount()
{
return count;
}
public String getWord()
{
return word;
}
private String give(RepString a) //Alternative Ausgabe für RepString
{ //4x"ja"
return a.count+"x"+z+a.word+z;
}
public boolean equals(RepString r)
{
String a= this.myString();
String b= r.myString();
return this.myString().equals(r.myString());
}
private String myString()
{
String x="";
int s = 0;
while (s<this.count)
{
x += this.word;
s++;
}
return x;
}
public String toString()
{
String x ="";
int s = 0;
while (s<this.count)
{
x += this.word;
s++;
}
return x;
}
public String copy(RepString r)
{
this.count=r.count;
this.word=r.word;
return give(new RepString(r.count,r.word));
}
// public String normalize()
// {
//
// }
public RepString add(int a)
{
int d = a + this.getCount();
if (d < 0)
setCount(0);
return new RepString(d,this.word);
}
public RepString add(String a)
{
String e = getWord() + a ;
return new RepString(this.count,e);
}
public RepString add(RepString a)
{
String e = a.word+ this.getWord();
int f = a.count+ this.getCount();
return new RepString(f,e);
}
public boolean less(RepString r)
{
String c= this.toString();
String b= r.toString();
int f = c.indexOf(b);
if (f<0)
return false;
else
return true;
}
}
Danke schon mal ^^