Till exempel en array av heltal(int) skapas på följande sätt:



Relevanta dokument
Chapter 4: Writing Classes/ Att skriva egna klasser.

"if"-satsen. Inledande programmering med C# (1DV402)

Tentamen OOP

Programexempel: tärningsspel

Klasser och objekt i C#

Chapter 5: Conditionals and Loops

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

Idag: Dataabstraktion

Du ska nu skapa ett litet program som skriver ut Hello World.

Chapter 3: Using Classes and Objects

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 5: Rekursion

Vad är det och hur definierar vi en Biblioteksfunktioner (math) Top-down-programmering lokala globala variabler Arrays som in-parametrar

ELEV- HANDLEDNING (Ansökan via webben)

Individuellt Mjukvaruutvecklingsprojekt

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.

Med detta och följande avsnitt blir det något svårare. Det finns också

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Väga paket och jämföra priser

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

Distribuerade system. CORBA eller RMI

SMD 134 Objektorienterad programmering

FRÅN A TILL Ö LäraMera Ab / och Allemansdata Ab / FRÅN A TILL Ö

TENTAMEN OOP

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Java M1 V2 L2 K2 TM W. Tentamen i Programmering , kl LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap.

PROGRAMMERING-Java TENTAMINA

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Objektorienterad programmering i Java

PROGRAMMERING-Java Omtentamina

Tentamen i Programmering grundkurs och Programmering C

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Lathund, procent med bråk, åk 8

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck

Snabbslumpade uppgifter från flera moment.

Programmera en NXT Robot

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

OOP Objekt-orienterad programmering

Nämnarens adventskalendern 2007

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Föreläsning 3-4 Innehåll

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Fullför installation av ELIQ

Tentamen, EDAA20/EDA501 Programmering

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Sammanfattning av kursdag 2, i Stra ngna s och Eskilstuna

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

( ostream ) << ( annan datatyp ) : ostream

Tentamen , Introduktion till Java, dtaa98, dtea53

TENTAMEN OOP

Elektronen och laddning

Tillämpad UNIX. Laborations-PM Christian von Schultz, Programpaket och processhantering

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Hävarmen. Peter Kock

Statsbidrag för läxhjälp till huvudmän 2016

Axiell Arena. Samarbeta om bilder Regionbiblioteket i Kalmar län

Svenska Du kan med flyt läsa texter som handlar om saker du känner till. Du använder metoder som fungerar. Du kan förstå vad du läser.

Hemsida Arbetsrum. Skapa arbetsrumslista

PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC

Laganmälan & Laghantering

Kampanj kommer från det franska ordet campagne och innebär att man under en tidsbegränsad period bedriver en viss verksamhet.

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Fristående förskolor totalt Antal svar samtliga fristående förskolor: 360 (57 %)

Datorövning 2 Statistik med Excel (Office 2003, engelska)

trafiksimulering Intro OU5 trafiksimulering

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

F4. programmeringsteknik och Matlab

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

PROGRAMMERING-JAVA TENTAMINA

4-6 Trianglar Namn:..

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Praktisk programmering

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Handbok Blinken. Danny Allen Översättare: Stefan Asserhäll

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Stella Nova förskola

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Objektorienterad Programmering (TDDC77)

Vi skall skriva uppsats

ANVÄNDARHANDLEDNING FÖR

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Föreläsning 2, vecka 8: Repetition

Kiwiböckerna metod och begrepp

Grundläggande programmering med C# 7,5 högskolepoäng

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Gissa det hemliga talet

PARTIDEBATT. Material:

Klassdeklaration. Metoddeklaration. Parameteröverföring

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Del A (obligatorisk för alla)

Transkript:

Chapter 7-8: Arrays I dessa uppgifter kommer du att lära dig om hur man arbetar med arrays, dvs samling av data av samma typ. Arrays är objekt i java och skapas med ordet new. Till exempel en array av heltal(int) skapas på följande sätt: int[] minatal= new int[50]; String[] klassitf =new String[63]; Item[] basket =new Item[100]; Så, tekniken att deklarera och skapa array är desamma, det som skiljer är typen av data som skall finnas i arrayen. Typen står alltid angivet så som du ser i min exempel. GLÖM INTE! När du skapar arrayen är den TOM. För att fylla den med värde skall värde tilldelas till arrayens plastser (element). int[0]= 34; // då har vi lagt 34 på första plastsen i arrayen klassitf[5]= Ida Ek // då har vi Ida Ek i arrayen på plats 5 basket[3]= new Item( skor, 300); // vi har gjort först ett Itemobjekt, sedan har vi tilldelat det till arrayen på plats 3. Viktigt att du läser i boken innan du börjar med uppgifterna.

Skapa och vända på en array I en klass kallad Arrays gör följande: A. Skriv ett program som frågar användaren om ett heltal. Programmet ska skapa en array lika stor som det angivna värdet. Därefter skall användaren bli ombedd om att ange ett heltalsvärde tills arrayen fylls. Använd en while-loop. 1. Skriv ut alla värden i arrayen i samma ordning som de skrevs in 2. Skriv ut alla värden i omvänd ordning, dvs. sista värdet först 3. Beräkna summan av alla värden i arrayen. B. Ändra nu så att 1,2,3 är separata metoder som tar som argument en array och gör det som anges. Du bestämmer om metoderna skall returnera eller vara void. Anropa sedan metoderna i main och visa att programmet fungerar som tidigare. Morsealfabetet I maj 1844 skickade Samuel F.B. Morse meddelandet "What hath God wrought!" med hjälp av telegraf från Washington till Baltimore och blev början på elektronisk kommunikation. För att göra det möjligt att kommunicera information enbart med hjälp av närvaro eller frånvaron av en enda ton, utvecklade Morse ett kodningssystem där bokstäver och andra symboler representeras som kodade sekvenser av korta och långa toner, traditionellt kallas prickar och streck. I Morsealfabetet representeras de 26 bokstäver av följande koder. Endast versaler används i Morse.

Du kan enkelt lagra dessa koder i ett program genom att deklarera en array med 29 element och lagra sekvensen av tecken. som motsvarar varje bokstav, kalla den morsearray. 1. Skriv ett program som läser en sträng från användaren och översätter varje bokstav i strängen till dess motsvarighet i Morsekod. Separera orden med hjälp av System.out.println () men ignorerar alla andra skiljetecken. Tips! Se nedan några logiska struktur för ett sådant program String morse= ; char ch=0; int counter =0; while ( counter< message.length()) ch=message.charat( counter); switch ( ch) case A : morse= morse + morsearray [0] // if the first place correspond to case B : morse= case C : counter++;..

WebShop Simulering Om man skall simulera en väldigt enkel WebShop kan man tänka sig följande meny: System.out.println("\n Välj från meny"); System.out.println(" ========="); System.out.println("0: Exit "); System.out.println("1: Köp" ); System.out.println("2: Ta bort" ); System.out.println("3: Visa korg"); System.out.println("4: Räkna total"); System.out.println("5: Töm, korg"); Programmet nedan är skallet på en sådant program. Spara den i din arbetsmap. Som du ser nedan, korgen är en array av typen Item. Klassen Item finns nedan också. Den är i princip komplett. Kopiera och spara i samma map med WebShop klassen. Det du skall göra är att komplettera klassen med de olika case som finns beskrivna i meny. import java.util.scanner; public class WebShop static Item [] basket= new Item[20]; static Scanner scan=new Scanner(System.in); static int index=0; //----------------------------------------------------- -- public static void main(string[] args) System.out.println( " I den här shopen finns allt du vill, bara lägg produkten i din korg"); System.out.println( " Priset bestämmer du själv också..."); printmenu(); int choice = scan.nextint(); // programmet stanar kvar i loopen tills användaren //matar in 0 while (choice!= 0) dispatch(choice); printmenu(); choice = scan.nextint();

// main slutar här // Skriver ut användar möjligheter public static void printmenu() System.out.println("\n Välj från meny"); System.out.println(" ========="); System.out.println("0: Exit "); System.out.println("1: Köp" ); System.out.println("2: Ta bort" ); System.out.println("3: Visa korg"); System.out.println("4: Räkna total"); System.out.println("5: Töm, korg"); System.out.print("\nMata in dit val: "); // metoden dispach behandlar och gör beräkningar beroende på //val public static void dispatch(int choice) switch(choice) case 0: System.exit(0); case 1: // läs in från användare namn och pris // skapa Item- objekt, lägg den i korg på // plats index. // variabeln index, uppdateras. case 2: // för att kunna implementera ta bort, måste //du först söka efter // en produkt som har ett visst namn // detta visar jag på föreläsning case 3: // loopa genom arrayen och anropa metoden //tostring() för varje objekt i arrayen. Glöm inte att dina //objekt heter nu basket[0], basket[1]...

korgpriset case 4: // ha en variabel som uppdaterar det totala case 5: // nullställ alla positioner i arrayen default: System.out.println("Sorry, fel val"); import java.text.*; public class Item String name; double price; // ------------------------------------------------------- // Create a new item with the given attributes. // ------------------------------------------------------- public Item (String itemname, double itemprice) name = itemname; price = itemprice; // ------------------------------------------------------- // Return a string with the information about the item // ------------------------------------------------------- public String tostring () NumberFormat fmt = NumberFormat.getCurrencyInstance();

return (name + "\t" + fmt.format(price)); // ------------------------------------------------- // Returns the unit price of the item // ------------------------------------------------- public double getprice() return price; // ------------------------------------------------- // Returns the name of the item // ------------------------------------------------- public String getname() return name; Cesar kryptering Caesars kod eller Caesar skift, är en av de enklaste och mest kända krypteringsteknik. Det är en typ av chiffer där varje bokstav i klartexten ersätts av en bokstav något fast antal positioner ner i alfabetet. Till exempel, med en förskjutning av 3, skulle en A ersättas med D, B skulle bli E, och så vidare. Metoden är uppkallad efter Julius Caesar, som använde det för att kommunicera med sina generaler. Att avkoda meddelandet innebär att varje bokstav skiftas samma antal tecken bakåt. En förbättring kan göras till denna kodningsteknik om vi använder en upprepande nyckel. Istället för att flytta varje tecken med ett konstant värde, vi kan skifta varje karaktär med olika värde genom att använda en array av nyckel värde. Till exempel om arrayen med nyckel innehåller värdena 3 1 7 4 2 5, då första tecknet förskjuts med tre, det andra tecknet med ett, den tredje av sju, etc.. n o v a n j g H l m u u r x l v 3 1 7 4 2 5 3 1 7 4 2 5 3 1 7 4 k n o w l e d G e i s p o w e r

Den första raden är det kodade meddelandet, den andra är nycklarna, den tredje är det avkodade meddelandet. Skriv metoder för att kryptera och dekryptera meddelande. Endast printbara tecken kommer att krypteras och dekrypteras (inte blanksteg). 1. Använd ASCII-tabellen för tecknet och nyckeln för att kryptera / dekryptera. Börja med att skriva följande metoder i en klass som heter Caesar. Metoderna tar som argument en tecken och en nyckel och returnerar en annan tecken. public static char encrypt_character ( char tkn, int key).your code public static char decrypt_character ( char tkn, int key) your code 2. Implementera nu metoderna encrypt_message () och decrypt_message(). För detta skall du använda de tidigare skrivna metoderna encrypt_character, and decrypt_character. Tips! Du har en array där du sparar dina nycklar. Du skall också ha en variabel som håller koll på vilken nyckel som står på tur att användas, kalla variabeln currentkey. När du har kommit till slutet av arrayen med currentkey, skall variabeln pecka tillbaka till början. 3. Använd metoderna i ett program. Om du kan skall du inte hårdkoda arrayen med nycklar, användaren skall kunna mata hur många nycklar och vilka nyckelvärde programmet skall använda. Extra: Hitta en lösning så att din kryptering producerar enbart alfabetiska tecken, dvs. inga # &, mm samt siffror. Du behöver inte ha med de svenska bokstäverna ä,ö,å, men gör det gärna om du hinner.