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



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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Grundläggande stränghantering

Föreläsning 2 - Intro till Java

Föreläsning 1 & 2 INTRODUKTION

JAVAUTVECKLING LEKTION 7

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

Lektion 1 Introduktion till DrJava och Java

Tentamen OOP

Chapter 3: Using Classes and Objects

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

OOP Objekt-orienterad programmering

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

SMD 134 Objektorienterad programmering

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

[] Arrayer = Indexerad variabel

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

Övningsuppgifter till föreläsning 2 Variabler och uttryck

TDP002 - Imperativ programmering

Objektorienterad Programmering (TDDC77)

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Kompilera och exekvera Javakod

Redovisning av inlämningsuppgifter

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.

Föreläsning 1 & 2 INTRODUKTION

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

Skillnader mellan Python och Java

OOP Objekt-orienterad programmering

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

Programmeringsteknik med C och Matlab

Installationsanvisning för kursens programvara på egen dator

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Att använda pekare i. C-kod

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

OOP Objekt-orienterad programmering

JAVAUTVECKLING LEKTION 3

Föreläsningsmaterial (Syntax och variabler)

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

F4. programmeringsteknik och Matlab

OOP Objekt-orienterad programmering

Programmering A. Johan Eliasson

Frågor i ansökan om statsbidrag för läxhjälp år 2016 ideella föreningar

JAVAUTVECKLING LEKTION 4

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Chapter 4: Writing Classes/ Att skriva egna klasser.

Så här inventerar du med Serveras inventeringswebb.

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

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

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

E-post för nybörjare

Grunderna i stegkodsprogrammering

Tentamen, EDAA20/EDA501 Programmering

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

Editering, Kompilering och Exekvering av Javaprogram

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

Ett objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

( ostream ) << ( annan datatyp ) : ostream

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.

Primitiva datatyper och selektering

Övningar Dag 2 En första klass

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Handledning för publicering av avhandlingar och andra vetenskapliga publikationer i DiVA

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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.

Föreläsning 4. Klasser och objekt

Föreläsning 3-4 Innehåll

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

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 2. Föreläsning 2

Administration - Skapa och administrera användare. Din roll som administratör 1. Meny och huvudfunktioner 2-4. Skapa en användare...

Kapitel 15: Data/Matrix Editor

OOP Objekt-orienterad programmering

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

TDIU01 (725G67) - Programmering i C++, grundkurs

5 Grundläggande in- och utmatning

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

TDDC77 Objektorienterad Programmering

B = Bokad tid. T = Tillfälligt bokad tid. L = Ledig tid. X = Spärrad tid

Matematisk Modellering

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

Föreläsning 2. Primitiva datatyper Selektering. Operationer på datatypen double. Motsvarande operationer finns för float. a + b addition double

Programexempel: tärningsspel

Användarmanual HOIF.org

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Innehåll. WordWall låter dig som pedagog skapa övningar, aktiviteter och presentationer med några enkla klick.

För att logga in på Prepaid Webbtjänst behöver du ett personligt Kund-ID och ett lösenord.

Instruktion

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

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Objektorienterad programmering

Transkript:

Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler Denna lektion tar upp Utskrifter: Utskrift av variabelvärden på skärmen i DrJavas Interaktions-fönster eller i ett Popup-fönster Inläsning: Inläsning av värden till variabler via DrJavas Interaktionsfönster (terminalfönster) eller via ett Popupfönster Lektion 1, del b - Utskrifter och Inläsning 1 i Java

Snyggare utskrifter av variabelvärden Utskrifter med förklarande text kan göras på följande sätt: I Interactions Pane I ett popup-fönster Exempel, vi beräknar och skriver ut saldot efter 1 års ränta. double saldo=10000.50; double räntesats=0.015; double ränta; ränta = saldo*räntesats; saldo = saldo + ränta; +-tecknet separerar brödtext och variabler System.out.println("Saldot på ditt konto är nu " + saldo); En brödtext som skrivs ut En variabel, vars värde skrivs ut Utskriften i Interactions Pane blir: Testa detta! Saldot på ditt konto är nu 10150.5075 Lektion 1, del b - Utskrifter och Inläsning 2 i Java

Snyggare utskrifter av variabelvärden För att göra en utskrift i ett sk. popup-fönster måste vi först tala om för Java att hämta (importera) ett javabibliotek som innehåller program för att hantera bl.a. popupfönster. Vi skriver följande sats i Interactions. import javax.swing.*; Därefter skriva ut på följande sätt: null betyder att fönstret inte ingår i något annat fönster. JOptionPane.showMessageDialog(null, "Saldot på ditt konto är nu " + saldo); Resultatet blir att följande visas på skärmen: En brödtext som skrivs ut Värdet på variabeln saldo skrivs ut Lektion 1, del b - Utskrifter och Inläsning 3 i Java

Inläsning av värden via tangentbordet När man skriver in saker (tecken) via tangentbordet kommer det generera en s.k. ström av tecken som normalt avslutas med tecknet ENTER/RETURN. I Java läser man denna ström genom att scanna tecken för tecken och tolka dem som värden: t.ex. heltal, flyttal eller sträng. Vi tar upp två olika sätt för inläsning: Inläsning via terminalfönstret (DrJava s interaktionsfönster) med Scanner-klassen Inläsning via popup-fönster med Joptionpane-klassen Lektion 1, del b - Utskrifter och Inläsning 4 i Java

1. Inläsning med Scanner Först måste ett bibliotek importeras import java.util.scanner; Sedan måste man sätta ett logiskt namn på den s.k. scannern som skall tolka strömmen av tecken som kommer från tangentbordet. Vi döper scannern till scan. Strömmen av tecken från tangentbordet heter System.in. Scanner scan = new Scanner(System.in); Vi är nu redo att göra inläsningar i java Lektion 1, del b - Utskrifter och Inläsning 5 i Java

Att läsa in heltalsvärden Testa följande: int tal; tal = scan.nextint(); I Interactions dyker det upp ett rör och ett timglas som indikerar att java väntar på att ni knappar in tecken via tangentbordet och avslutar med ENTER/RETURN. Så här kan det se ut i Interactions: 14<ENTER> I och med att ni skrev nextint() kommer java att tolka tecknen 14 som ett heltal och lagra värdet i variabeln tal. Skriv ut värdet på variabeln tal för att se att den fick rätt värde. Lektion 1, del b - Utskrifter och Inläsning 6 i Java

Att läsa in flyttalsvärden För att läsa in ett flyttals-värde kan man scanna med nextdouble(). Vid inläsning av flyttal måste vi ange decimalpunkten med ett kommatecken och inte en punkt som vi gör vid direkt tilldelning av värde i javaspråket (t.ex. double x=1.4). Gör följande: double ftal; ftal = scan.nextdouble(); Knappa in ett flyttal följt av ENTER. Exempelvis: 1,4<ENTER> Skriv ut värdet på variabeln ftal för att se att den fick rätt värde. Lektion 1, del b - Utskrifter och Inläsning 7 i Java

Nu skall ni strax se hur man läser in strängar Men, först måste ni ta bort det ENTER-tecken som ligger kvar från strömmen av tecken när ni nyss läste in: 1,4<ENTER> Annars kommer det tecknet att ställa till lite trassel när ni skall läsa in en sträng. Ni tar bort ENTER-tecknet med: scan.nextline(); Nu kan ni gå till nästa sida Lektion 1, del b - Utskrifter och Inläsning 8 i Java

Inläsning av en hel rad som en sträng Man scannar med nextline(). Gör följande: String s1; s1 = scan.nextline(); Mata in ditt förnamn och efternamn följt av ENTER. Ex.vis: Kim Nilsdotter<ENTER> Skriv sedan ut värdet på variabeln s1 för att se att den fick rätt värde. Lektion 1, del b - Utskrifter och Inläsning 9 i Java

Inläsning av ord som en sträng Man scannar med next(). Ord avgränsas med mellanslag, TAB eller ENTER. Gör följande där vi läser in två ord och lagrar dem i två variabler: String s2; s1 = scan.next(); s2 = scan.next(); Och mata in ditt förnamn och efternamn med mellanslag (eller TAB) mellan dem följt av ENTER. Ex.vis: Kim Nilsdotter<ENTER> Skriv sedan ut värdet på variabeln s1 och s2 för att se att de fick rätt värde. Lektion 1, del b - Utskrifter och Inläsning 10 i Java

Blandad inläsning, ord och heltal Man scannar med next() och nextint(). Gör följande där vi läser in två värden och lagrar dem i varsin variabel: String kontonr; double saldo; kontonr = scan.next(); saldo = scan.nextdouble(); Mata in de två värdena med mellanslag (eller TAB) mellan dem följt av ENTER. Ex.vis: ABC-1234 10000,0<ENTER> Skriv sedan ut värdet på variablerna kontonr och saldo för att se att de fick rätt värde. Lektion 1, del b - Utskrifter och Inläsning 11 i Java

Ledtext vid inläsning Före en inläsning bör man alltid ge en ledtext så att man förstår vad som skall läsas in. Exempel: double x,y; System.out.println("Ge x:"); x = scan.nextdouble(); System.out.println("Ge y:"); y = scan.nextdouble(); Jämför med inläsning i Matlab x = input( Ge x ); Lektion 1, del b - Utskrifter och Inläsning 12 i Java

Att ställa om Scanner till engelsk standard för decimaler Om vi läser in doublevärden måste vi ange decimalkomma (svensk standard) istf decimalpunkt (engelsk standard). För att ställa om Scanner till engelsk standard med decimalpunkt, istf decimalkomma gör vi följande: import java.util.locale; Locale.setDefault(Locale.UK); Med denna inställning har vi bestämt att scannern istället klarar att läsa in flyttal som anges med decimalpunkt Lektion 1, del b - Utskrifter och Inläsning 13 i Java

Sammanfattning Scanner Javasatser läser (Scannar) tecknen i strömmen och kan tolka dem på olika sätt: 1. talvis med metoden o nextdouble nästa ord tolkas som ett doublevärde o nextint nästa ord tolkas som ett int-värde 2. strängvis med metoden o nextline hela raden tolkas som ett String-värde o next nästa ord tolkas som ett String-värde 3. booleanvis med metoden o nextboolean nästa ord tolkas som ett booleanvärde Lektion 1, del b - Utskrifter och Inläsning 14 i Java

2. Inläsning via popup-fönster Exempel med klassen JOptionPane. Först måste följande importeras import javax.swing.*; Testa följande: String namn; namn = JOptionPane.showInputDialog( "Vad heter du?"); Det skapar både en ledtext och inläsning. Variabeln som tilldelas värdet av högerledet måste vara en sträng. Värdet av variabeln namn blir Karl-Astrid, dvs en sträng som består av 11 tecken Lektion 1, del b - Utskrifter och Inläsning 15 i Java

Ett exempel till med Popup-fönster import javax.swing.*; String s; double saldo; int år; // Ge ledtext och läs in en sträng,lagra det i s s = JOptionPane.showInputDialog("Saldot?"); // Omvandla strängen s till ett flyttal, lagra i saldo saldo = Double.parseDouble(s); // Ge ledtext och läs in en sträng, lagra det i s s = JOptionPane.showInputDialog("Antal år?"); // Omvandla strängen s till ett heltal, lagra i år år = Integer.parseInt(s); // Beräkna saldot med ränta på ränta 5% saldo = saldo*math.pow(1.05,år); // Resultatutskrift i popup-fönster JOptionPane.showMessageDialog(null, "Saldot blir " + saldo + " efter " + år + " år med räntan 5%"); Kopiera hela exemplet och klistra in i DrJava Interactions och testkör. Se exempel på programkörning på nästa sida Lektion 1, del b - Utskrifter och Inläsning 16 i Java

s = JOptionPane.showInputDialog("Saldot?"); saldo = Double.parseDouble(s); saldo får värdet 10000.00 s = JOptionPane.showInputDialog("Antal år?"); år = Integer.parseInt(s); år får värdet 10 JOptionPane.showMessageDialog(null, "Saldot blir " + saldo + " efter " + år + " år med räntan 5%"); Lektion 1, del b - Utskrifter och Inläsning 17 i Java