TDDC77 / 729G90 Objektorienterad programmering
Extrauppgifter
Extrauppgifter
Här följer ett antal övningsuppgifter. Om inget annat anges ska du skriva ett program som löser uppgiften. De flesta uppgifter kommer från föreläsningarna. Det är starkt rekommenderat att du förstår och provar på alla uppgifter.
- [loggning och kompilering] Från
föreläsning 1: Koppla dig mot universitets server och
kompilera ett "hello world" Java programm:
- öppna en ssh session mot "remote-und.ida.liu.se"
- välj/skappa en "demo" katalog, naviguera ditt
- skappa ett Java programm som skriver ut ett meddelande (använd dig av emacs). Du kan kolla upp denna "hello world"
- kompilera och kör programmet
- introducera några fel i programmet (e.g, ta bort en semikolon ";")
- försök att kompilera och läs meddelandet från kompilatorn
- repetera de sista två stegen ett antal gånger
- [variabler och konvertering]: Från
föreläsning 2: Gå igenom, förstå,
kompliera och kör:
- "booleska variabler"
- "char variabler"
- "typ konvertering"
- ändra på programmerna, prova med andra typer och kombinationer
- öppna länken till Java standard API:et.
- hitta beskrivningen för Klassen (class) String.
- ladda ner filen Str.java
- för varje string metod (method) XXXX som finns i
filen Str.java i form av "kursnamn.XXXX(...)":
- läs om metoden XXXX i String:s sidan av API:et
- kompilera filen Str.java och kör programmet
- ändra på programmet och repetera tills att du tycker att du har förstått vad metoden gör.
- öppna länken till Java standard API:et.
- hitta beskrivningen för Klassen (class) Scanner.
- ladda ner filen Scan.java
- för varje string metod (method) XXXX som finns i
filen Str.java i form av "scan.XXXX(...)":
- läs om metoden XXXX i Scanner:s sidan av API:et
- kompilera filen Str.java och kör programmet
- ändra i programmet och repetera tills att du tycker att du har förstått vad metoden gör.
- ladda ner filen ScanStandard.java
- kompilera filen ScanStandard.java och kör programmet
- ändra i programmet och repetera tills att du tycker att du har förstått hur man använder sig av Scanner för att läsa in typer som String, int, double och boolean.
- [kontrol flödet]: (Fö 4) Gå igenom,
förstå, kompliera och kör:
- "if sats"
- "while"
- "while och for"
- "farliga bugger"
- "switch sats"
- "palindrom"
- ändra på programmerna, prova med andra typer och kombinationer
- [Arrayer]: (Fö 4) Gå igenom,
förstå, kompliera och kör:
- "arrayer och slingor"
- ändra på programmerna, prova med andra typer och kombinationer
- [Slingor]:
Från föreläsning 4:
- Skapa ett Java program som använder en "while" loop för att skriva ut multiplikations tabellen för 5, från 1 till 100 (dvs. 1x5= 1, 2x5=10, etc).
- Använd dig av en "do while" loop istället.
- Använd dig av en "for" loop istället.
- [Skuggning]: (Fö 5) Gå igenom, förstå, kompliera och kör:
- [Metoder, felhantering]: (Fö 5,6,7) Gå igenom,
förstå, kompliera och kör:
- "Command line"
- "filer och scanner" använder denna text filen
- "rekursion"
- ändra på programmerna, prova med andra typer och kombinationer
- Skapa ett Java program som heter "Factorial" och som har två metoder:
- den vanliga metoden "void main(String[] args)", och
- en till metod "int factorial(int n)"
- Man ska anroppa programmet med "java Factorial x" där "x" är ett heltal
- main metoden ska skicka heltalet till "factorial" metoden, sen ska main skriva ut resultatet.
- "factorial" metoden ska jämföra argumentet "n" mot 1. Om den är mindre returnerar den 1.
- annars ska den returnera "n * factorial (n-1)"
- prova med olika heltal. Ni ska få 1 för 1, 2 för 2, 6 för 3, 24 för 4, 120 för 5, etc
- Implementera en stack med:
- En "void push(String)" metod,
- En "String pop()" metod,
- En "boolean isEmpty()" metod,
- Du kan anta att stacken kommer ha "MAX" String värden, där "MAX" än en konstant som du kan ändra på
- Implementera en kö med:
- En "void enqueue(String)" metod,
- En "String deque()" metod,
- En "boolean isEmpty()" metod,
- Du kan anta att stacken kommer ha "MAX" String värden, där "MAX" än en konstant som du kan ändra på
- I din implementation, oavset körningen, man ska alltid kunna spara upp till "MAX" element i din kö,
Sidansvarig: Sahand Sadjadee
Senast uppdaterad: 2018-08-16