# JAVA Programmieraufgabe mit Strings - bitte um Hilfe



## vupel (17. Okt 2005)

Hi Leute,

ich habe hier eine Aufgabe, die ich nicht lösen konnte.  Ich habe zwar bisschen was hinbekommen, aber hilft nicht weiter.
Hier nun die Aufgabe:

__
Kennen Sie "Urmel aus dem Eis"? In diesem Kinderbuch-Klassiker geht es um einige Tiere, die auf einer insel Titiwu wohne und bei Professor Tibatong das Sprechen gelernt haben. alle diese Tiere haben allerdings einen kleinen Sprachfehler:
- Ping Pinguin kann das "sch" nicht sprechen und sagt statt dessen immer "pf", z. B. "guten Morgen, pfon ausgepflafen in deiner mupfel?"
-Wawa, der Waran, sagt statt "z" immer "tsch", z. B. "Intschwischen bin ich umgetschogen"
- Bei Seele-Fant, dem traurigen See-Alefanten, wird "i", "ie" sowie "e" zu einem "ö"; "ei" wird zu "eu" und "u" wird zu "o" (aber nicht in "au"). Ein Beispiel: "Ös könntö schön seun, traurögö Lödör zosammön zo söngön"

Sie haben die Aufgabe, Klassen für diese sprechende Tiere zu entwickeln. es ist folgende abstrrakte Oberklasse gegeben:


```
public abstract class SprechendesTier {
                   protected String name;

                   /** erzeugt ein Tier mit dem angegebenen Namen*/
                   public SprechendesTier (String name) {
                           this.name = name; }
        
                   /**gibt den Text mit den tierspezifischen Sprachfehlern über System.out aus*/

                   public abstract void spreche (String text); }
```

a) Definieren Sie dazu Unterklassen Pinguin, Waran und SeeElefant, die die Methode 
	
	
	
	





```
spreche
```
 passend implementieren.
b)Zerlegen Sie Ihre Lösung nun in zwei Pakete. Hier eine Klasse zum Test


```
/**
 * Test für sprechende Tiere
 */
public class TitiwuTest
{
    public static void main(String[] args) {
        SprechendesTier[] tierschule = new SprechendesTier[3];
        tierschule[0] = new Pinguin("Ping Pinguin");
        tierschule[1] = new Waran("Wawa");
        tierschule[2] = new SeeElefant("Seele-Fant");
        
        for (int i = 0; i < tierschule.length; i++) {
            tierschule[i].spreche("Guten Morgen, schon ausgeschlafen " 
                                 + "in deiner Muschel?");
        }              

        for (int i = 0; i < tierschule.length; i++) {
            tierschule[i].spreche("Inzwischen bin ich umgezogen");
        }              
         
        for (int i = 0; i < tierschule.length; i++) {
            tierschule[i].spreche("Es könnte schön sein, " +
                                  "traurige Lieder zusammen zu singen.");
        }              
        
    }  
}
```

Das Paket 
	
	
	
	





```
tierschule
```
 soll die Klassen 
	
	
	
	





```
TitiwuTest
```
 und 
	
	
	
	





```
SprechendesTier
```
 enthalten
Das Paket 
	
	
	
	





```
tiere
```
 soll die Klassen 
	
	
	
	





```
Pinguin
```
 , 
	
	
	
	





```
Waran
```
 und 
	
	
	
	





```
SeeElefant
```
 umfassen


Es ist eine ziemlich große Aufgabe, speziell Pakete und String, StringBuffer sollen damit geübt werden.

Ich wäre sehr dankbar, wenn einer dafür eine Lösung hätte.

Danke im Voraus


----------



## Roar (17. Okt 2005)

wir machen keine hausaufgaben *verschoben*


----------



## edgrar_u (17. Okt 2005)

ja die leute hier fühlen sich ausgenutzt , nach dem Motto mit den Schüchternen Computerfreaks kann mans ja machen ... ich mach dir die Hausaufgabe machen - gegen eine Aufwandsentschädigung . Von sagen wir 15,- EUR. Wenn du reiche Eltern hast kannst du ja sagen , das du damit nur ein bischen Gras kaufen gehst -     
für die Ziege in deinem Schrank  :lol: 

Nein aber ernsthaft für so ein Entgeld wär ich wirklich zu sowas bereit , aber kostenlos fühl ich mich da schon ausgenutzt.


----------



## lin (17. Okt 2005)

@edgrar_u
lol, "Entgeld"
aber hallo, die Aufgabe hat ja den Zweck, dass man dabei was lernt. Wenn du sie ihm löst, lernt er nix. 

@vupel
Zeig doch mal irgendwie, dass du schon versucht hast die Aufgabe zu lösen: Code, Überlegungen, etc. Dann wird dir auch gern geholfen - und zwar unentgeldlich


----------



## SnooP (18. Okt 2005)

Das ist imho übrigens eine ganz prima Aufgabe  - ich bin begeistert - alles Drin  ... hätte auch gerne solche Aufgaben am Anfang gehabt  ... aber nein wir mussten Primzahlenfinder basteln, oder sowas wie Graphen 

by the way ... die Aufgabe ist weder groß noch schwer!


----------



## Sky (18. Okt 2005)

vupel hat gesagt.:
			
		

> Ich habe zwar bisschen was hinbekommen, aber hilft nicht weiter.


Was hast Du denn "hinbekommen"???? Der gezeigte Code gehört doch zur Aufgabe... !


----------



## DP (18. Okt 2005)

Roar hat gesagt.:
			
		

> wir machen keine hausaufgaben *verschoben*



was sagen denn deine lehrer zu dieser einstellung? :lol:


----------



## L-ectron-X (18. Okt 2005)

:wink: So kann man es auch sehen.
Die Aussage kann Ort oder Zeit betreffen.


----------



## KSG9|sebastian (18. Okt 2005)

1. die Aufgabe ist wirklich nicht schwer
2. und erst recht _nicht_ groß

Das sind 3 Klassen die ne Methode implementieren und nen Konstruktor mit nem Parameter "name" haben. 
Das einzige was noch zu tun ist, ist halt das ersetzen von bestimmten Strings, und wenn du mal n bissl suchst, dann findest du tausende Tools um Strings in Strings zu ersetzen, ohne Patterns zu benutzen.

Siehe dazu:

org.apache.commons.lang.StringUtils
http://jakarta.apache.org/commons/lang/


----------



## Roar (18. Okt 2005)

DP hat gesagt.:
			
		

> Roar hat gesagt.:
> 
> 
> 
> ...


isch bin der king of hausaufgaben-nich-machen-und-damit-durchkommen  :bae: 

@sebastian: ich glaub nicht die sollen die aufgabe selbst implementieren und nicht was benutzen was es shcon gibt


----------



## KSG9|sebastian (18. Okt 2005)

Roar hat gesagt.:
			
		

> @sebastian: ich glaub nicht die sollen die aufgabe selbst implementieren und nicht was benutzen was es shcon gibt



Hat er aber nicht geschrieben, oder ? ;d
Meine ehemalige Lehrerin wollte auch, dass wir ein Programm schreiben welches überprüft, ob ein eingegebenes Datum korrekt ist.

Aber mit der Lösung mit SimpleDateFormat war sie auch zufrieden.. ;D


----------

