JAVAUTVECKLING LEKTION 7

Relevanta dokument
Språkkonventioner och redigering av tal.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

JAVAUTVECKLING LEKTION 4

Att skriva till och läsa från terminalfönstret

JAVAUTVECKLING LEKTION 3

OOP Objekt-orienterad programmering

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

JAVAUTVECKLING LEKTION 8

JAVAUTVECKLING LEKTION 11

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Föreläsning 3-4 Innehåll

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

Föreläsnings 9 - Exceptions, I/O

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

Föreläsning 1 & 2 INTRODUKTION

Lösningsförslag till tentamen

Föreläsning 14. Filhantering

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.

JAVA Mer om klasser och objektorientering

Tentamen OOP

Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL

Objektorienterad programmering i Java

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

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

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

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.

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

Föreläsning 1 & 2 INTRODUKTION

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

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

Klassen String Mer om fält Något om inläsning

OOP Objekt-orienterad programmering

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

SMD 134 Objektorienterad programmering

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

OOP Objekt-orienterad programmering

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Kompilera och exekvera Javakod

Programmering för språkteknologer I, VT2012. Rum

Hur ser ett Java-program ut?

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

1 Programmering i Java. Program element - Introduktion. Exempel. Exempel. Kapitel 3:

Chapter 4: Writing Classes/ Att skriva egna klasser.

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

OOP Objekt-orienterad programmering

Lösningsförslag till tentamen

Lösningar för tenta 2 DAT043,

Föreläsning 2 - Intro till Java

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

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

Läsanvisning: Dessa OH bilder samt kap 1-3

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

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

Föreläsning REPETITION & EXTENTA

Tentamen , Introduktion till Java, dtaa98, dtea53

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

Objektorienterad programmering Föreläsning 2

Del A (obligatorisk för alla)

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

System.out.println("Jaså du har "+ antaldollar + " stycken.");

Del A (obligatorisk för alla)

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 9-10 Innehåll

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Undantag. Engelska: exceptions. Skansholm: exceptionella händelser

Sammanfattning och repetition utgående från typiska tentamensuppgifter

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Felhantering. Andra brott mot språkets regler. Man kan också i programmet bryta mot ett antal olika regler som gäller. Exempelvis:

Iteration. Föreläsning 3. TDA540 - Objektorienterad Programmering

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

Föreläsning 3. Iteration while-satsen

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Lösningsförslag till tentamen

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

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Skillnader mellan Python och Java

Objektorienterad programmering

F4. programmeringsteknik och Matlab

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

Exempel på användning av arv: Geometriska figurer

Redovisning av inlämningsuppgifter

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

LÖSNINGSFÖRSLAG TILL TENTAMEN PROGRAMMERINGSMETODIK MOM2 - JAVA, 4P.

Transkript:

JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen Scanner Redigering av utskrifter med metoden format Att läsa från en fil Att skriva till en fil 1

OLIKA SPRÅKVERSIONER Olika språk hanteras med hjälp av klassen java.util.locale Språket bestämmer texten i dialogrutor samt format för numeriska tal. Det finns alltid ett default Locale-objekt som sätts automatiskt. Man ändrar default objektet genom att skriva Locale.setDefault(Locale.UK); Eller Locale.setDefault(new Locale("sv","SE")); UTSKRIFT I KOMMANDOFÖNSTER Utskrift i kommandofönstret görs med println eller print System.out.print(data); System.out.println(data); Data kan vara vilken typ som helst, ofta String. println tömmer utskriftsbufferten och påbörjar automatiskt en ny rad efter utskriften. print tömmer inte utskriftsbufferten. Detta görs med en flush System.out.flush(); 2

ÖVNING 9.1 // Version 1 med println public static void main (String[] arg) { System.out.println("Linda Johansson"); System.out.println("Storgatan 1"); System.out.println("123456789"); // Version 2 med print public static void main (String[] arg) { System.out.print("Linda Johansson\nStorgatan 1\n123456789"); System.out.flush(); // Rensa buffert INLÄSNING FRÅN KOMMANDOFÖNSTER 1. Importera paketet java.io; 2. Skriv throws IOException i huvudet på de metoder i vilka läsning skall göras. 3. Deklarera en ström av typen BufferedReader. 4. Läsning görs med metoden readline som läser en hel rad i taget. 3

ÖVNING 9.4 import java.io.*; public static void main (String[] arg) throws IOException { BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s = input.readline(); double storst = Double.parseDouble(s); // första talet while (true) { s = input.readline(); if (s == null) // Användaren trycker CTRL+Z / CMD+D break; double tal = Double.parseDouble(s); // nästa tal if (tal > storst) storst = tal; System.out.println("Det största talet är " + storst); PROBLEM MED SVENSKA TECKEN Program som skickar svenska tecken till konsolfönstret via bl.a. metoderna print och println visar felaktiga tecken. T.ex. System.out.print("åäö") // Visar konstiga tecken Detta beror på att terminalfönstret som finns i windows INTE stödjer Unicode. Lösning Kompilera med hjälp av en extra parameter som ändrar kodningen till Unicode så här: javac encoding utf-8 Fil.java 4

STANDARDKLASSEN SCANNER Standardklassen Scanner finns i paketet java.util. En Scanner används för att läsa data från bl.a. kommandofönstret och filer. Ett Scanner-objekt hämtar indata från en ström av tecken, sätter ihop dessa till ord, heltal, eller flyttal. SCANNER EXEMPEL import java.util.scanner; public class ScannerDemo { public static void main(string[] args) { Scanner scan = new Scanner(System.in); // Skapa ett Scanner-objekt System.out.print("Ange ett decimaltal x: "); double x = scan.nextdouble(); // Läser double System.out.print("Ange ett heltal n: "); int n = scan.nextint(); // Läser int System.out.println("x^n = " + Math.pow(x, n)); 5

REDIGERING AV UTSKRIFTER MED METODEN FORMAT Metoden format finns för strömmar av typerna String, PrintWriter och PrintStream. Exempel 1: Visa tal med två decimaler Se faktaruta sidan 197 double pi = Math.PI; String resultat = String.format("%.2f", pi); JOptionPane.showMessageDialog(null, resultat); INLÄSNING FRÅN EN TEXTFIL public static void main(string[] args) throws IOException { BufferedReader in = new BufferedReader(new FileReader("test.txt")); String text = ""; while (true) { String rad = in.readline(); if (rad == null) // är filen slut? break; // ja! text = text + rad; JOptionPane.showMessageDialog(null, text ); 6

ATT SKRIVA TILL EN TEXTFIL PrintWriter ut = new PrintWriter( new BufferedWriter(new FileWriter("test.txt"))); for (int i = 0; i < 10; i++) { ut.println(i); ut.close(); // OBS! Viktigt 7