Datalogilaboration 3 - Språk

Varning: den här laborationen är mycket omfattande, och man måste ha löst dom flesta problemen i förväg om man ska hinna klart under labbpasset.

Texthantering med typen String är laborationens tema och det handlar om program som översätter svenska meningar till följande hemliga språk.

Skriv alla javaprogrammen i samma fil filen Språk.java, så blir det lättare att kopiera kod från en klass till nästa.

Eko

Skriv först en klass Eko som först skriver ut "Det ekar här!" och sedan i en slinga läser och skriver ut ett tecken i taget. Slingan bör brytas vid radslut. Använd tkn=Mio.getChar() för inläsningen.
  Det ekar här!
  Jaså, säger du det?
  Jaså, säger du det?
Kompilera och provkör!

Viskningsspråket

I dom hemliga språken måste man kunna avgöra om bokstav är vokal eller konsonant med anropet if(Typ.vokal(tkn))... och därför ska du skriva en ny klass Typ som definierar funktionerna static boolean vokal(char tkn) och static boolean konsonant(char tkn). I föreläsning 3 beskrevs hur man använder indexOf() till sådant.

Skriv sedan klassen Viskning som en kopia av klassen Eko men som testar på vokal och i så fall går vidare i slingan utan utskrift.

  Din mening:
  Får jag viska ditt namn?
  Fr jg vsk dtt nmn?
Kompilera och provkör!

Hottentottspråket

Skriv nu klassen Hottentott som i stället testar om bokstaven är en konsonant och i så fall skriver ut den två gånger med o emellan.
  Din mening:
  Att vara eller inte vara...
  Atottot vovarora elolloleror inontote vovarora...
Det här kallas också rövarspråket men det fungerar inte så bra med åäö i klassnamn.

F-språket och kinaspråket

F-språket är som hottentottspråket men man skriver i stället ut små vokaler dubbelt med f emellan
  Din mening:
  I fyllan & villan...
  I fyfyllafan & vifillafan...
Kinaspråket byter alla l mot r och tvärtom.
  Din mening:
  Prickig korv på fralla...
  Plickig kolv på flarra...

Bebisspråket

Bebisar säger bara första stavelsen i varje ord, men i gengäld säger dom den tre gånger.
  Din mening:
  Man blandar ihop mycket där
  MaMaMa blablabla iii mymymy dädädä
Här ska du till omväxling använda ord=Mio.getWord() för att sedan plocka ut första stavelsen med s=stav1(ord). Funktionen stav1() ska du skriva själv. Tänk efter vilken typ argumentet har och vilken typ funktionsvärdet har. Funktionen måste använda Typ.vokal() och metoden substring() som gicks igenom i föreläsning 3.

Allspråket

I detta språk kuperar man ordet före första vokalen och sätter "all" efter.
  Din mening:
  musse pigg
  ussemall iggpall
Funktionen kupera() är mycket lik stav1().

Fikonspråket

I detta språk kuperar man ordet efter första vokalen, sätter "fi" före och "kon" efter.
  Din mening:
  musse pigg
  fissemukon figgpikon
Den överambitiösa och smöriga kursdeltagaren gör nu som extrauppgift fikonspråksutmatningen i ett eget fönster (se föreläsning 4). Försök till sist få underskrift av en lärare.

Utsökt jobbat av ..................................... intygar.............................. den .................


^ Upp till kurssidan.


Sidansvarig: <efo@nada.kth.se>
Senast ändrad 27 oktober 2000
Tekniskt stöd: <webmaster@nada.kth.se>