Orakeltjeneste på Abel Hjelp til Obligatorisk oppgave 2. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. Rep: Metoder

Like dokumenter
INF1000 (Uke 6) Mer om metoder, tekster

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

INF1000 (Uke 6) Mer om metoder, tekster

Blokker og metoder INF1000 (Uke 6) Metoder

Forelesning inf Java 5

Forelesning inf Java 5

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

Teste om to tekster er like. Inf1000 uke 6 26.sept Alfabetisk ordning. Inneholder en tekst en annen? Litt om tekster Metoder

Inf1000 uke 5 18.sept. 2007

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

INF1000 : Forelesning 5

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

Forelesningsquiz. Forelesning inf Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesning inf Java 5

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Oversikt. INF1000 Uke 5. Hva er for-løkker - repetisjon. Spørsmål forrige uke. Svar på spm. fra forrige uke. Litt mer om arrayer.

Mer om arrayer Metoder

Forelesning inf Java 4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

INF1000 : Forelesning 4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

INF1000 Uke 5. Litt om objekter, filer med easyio, tekst

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Metodekall. INF1000 Uke 5. Overlasting av metoder. Bruk av arrayreferanser som parametre

Repetisjon INF 1000 våren 2006

Oversikt. Filer. Litt mer om tekster. INF1000 Uke 6. Lese og skrive fra/til fil. Eksempel. Vi importerer pakken easyio. Klassene In og Out i easyio

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt

Oversikt. INF1000 Forelesning 6. Variable Deklarasjon. Variabel en plass i lageret int radius;

Inf1000 uke sept 2011

INF1000: Forelesning 4. Mer om arrayer Metoder

Inf1000 uke sept 2011

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

INF1000 Behandling av tekster

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 4) Mer om forgreninger, While-løkker

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Inf1000, uke 5 19 sept. 2006

UNIVERSITETET I OSLO

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

UNIVERSITETET I OSLO

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

UNIVERSITETET I OSLO

INF 1000 høsten 2011 Uke september

UNIVERSITETET I OSLO

INF1000 undervisningen INF 1000 høsten 2011 Uke september

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

UNIVERSITETET I OSLO

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Blokker. Uke 4, INF 1000, 13 sept Løkker og arrayer. Eksempel. Deklarasjoner inne i blokker. Institutt for Informatikk Universitet i Oslo

Løse reelle problemer

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

INF1000 Metoder. Marit Nybakken 16. februar 2004

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

INF1000 : Forelesning 3

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

2 Om statiske variable/konstanter og statiske metoder.

Oversikt (for deg som ikke er helt sikker på å få A) Inf1000 uke 12 4.nov Sjekkliste forts. variabler, typer og tilordning

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

UNIVERSITETET I OSLO

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

INF 1000 høsten 2011 Uke 3 6. september

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

Oblig4 - forklaringer. Arne og Ole Christian

Eksempel: Body Mass Index (BMI)

Løsningsforslag ukeoppg. 3: sep (INF Høst 2011)

INF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Innhold uke 3. INF 1000 høsten 2011 Uke 3 6. september. Uttrykk. Variabel: En plass i hukommelsen

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Endret litt som ukeoppgave i INF1010 våren 2004

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

UNIVERSITETET I OSLO

Transkript:

INF1000 (Uke 6) Mer om metoder, tekster Orakeltjeneste på Abel Hjelp til Obligatorisk oppgave 2 Tirsdag 22. feb.: 10-14 Onsdag 23. feb.: 14 19 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Sted: terminalstuen på Abel (underetasjen i Niels Henrik Abels hus) Anja Bråthen Kristoffersen og Are Magnus Bruaset 20-02-2006 2 Rep: Metoder Java-programmene så langt i kurset: består av en enkelt klasse i klassen kan det befinne seg en eller flere metoder (en av disse må hete main) Rep: Metoder Forteller at dette er en "klasse-metode" static returverditype metodenavn(type par1, type par2,..) { instruksjon 1; instruksjon 2; instruksjon n; Beskrivelse av hva slags output metoden gir, f.eks. void, int, double, char,... Et navn som du velger Beskrivelse av hva slags input metoden skal ha null en eller flere parametere, gis i form av variabel-deklarasjoner separert med komma 20-02-2006 3 20-02-2006 4

3 typer variable: Klassevariable Klassevariable Klassevariable Lokale variable Parametere Variable som er deklarert på klassenivå, utenfor metoden (Også objektvariable) 20-02-2006 5 20-02-2006 6 Lokale variable Variable som deklareres inne i en metode Slike variable er definert fra og med der deklarasjonen gjøres og til slutten av blokken de er deklarert i Parametere Variable som deklareres i hodet på metoden Slike variable er definert i hele metodekroppen 20-02-2006 7 20-02-2006 8

Viktig detalj Ved gjentatte kall på en metode lages det et nytt sett med lokale variable og parametere Eksempel class Variabeltyper { static int tid = 0; // Klassevariabel int intervall = 3; // Lokal variabel øktid(intervall); øktid(intervall); hver gang static void øktid (int t) { tid += t; System.out.println(tid); // Parameter 20-02-2006 9 20-02-2006 10 Metode uten parametere og returverdi Parametere og argumenter Følgende metode skriver ut en ordremeny på skjermen: static void skrivmeny () { System.out.println( Velg: ); System.out.println( -------------------- ); System.out.println( 1 Cappuccino ); System.out.println( 2 Cafe Latte ); System.out.println( 3 Americano ); System.out.println( 4 Espresso ); System.out.println( -------------------- ); 20-02-2006 11 class Eksempel { minmetode(3.14, 365); Argumenter static void minmetode (double x, int y) {... Parametere Merk: et annet navn for argumenter er aktuelle parametere, og et annet navn for parametere er formelle parametere 20-02-2006 12

Metode med returverdi Følgende metode leser et positivt tall fra terminal og returner det til kallstedet: static double lespositivttall() { In tastatur = new In(); double x; do { System.out.print("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; Merk: instruksjonen return <uttrykk>; avslutter utførelsen av metoden og returnerer til kallstedet med verdien til det angitte uttrykket (verdien må være av typen double i dette tilfellet) 20-02-2006 13 Fullstendig eksempel import easyio.*; class LesPositivtTall { Out skjerm = new Out(); double x = lespositivttall(); double y = lespositivttall(); skjerm.out("du har lest inn x = " + x); skjerm.out(" og y = " + y +, ln(x*y) = ") skjerm.outln(math.log(x*y), 2); //avslutter main static double lespositivttall () { In tastatur = new In(); double x; do { System.out.print("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; //her blir x returnert til der metoden kalles fra //avslutter lespositivttall //avslutter LesPositivetTall 20-02-2006 14 Metode med parameter og returverdi Metodekall Følgende metode finner summen av elementene i en array av typen double: static double finnsum (double[] x) { double sum = 0.0; for (int i = 0; i < x.length; i++) { sum += x[i]; return sum; Anta at følgende eksekveres: double total = finnsum(lengde); Metoden som kalles: static double finnsum(double[] x) { double sum = 0.0; for (int i = 0; i < x.length; i++) { sum += x[i]; return sum; 20-02-2006 15 20-02-2006 16

Eksempel på bruk import easyio.*; class Lengde { Out skjerm = new Out(); double[] lengde = {2.3, 5.22, 3.6, 2.33, 8.6; double total = finnsum(lengde); skjerm.out("samlet lengde: "); skjerm.outln(total, 2); //her slutter main static double finnsum (double[] x) { double sum = 0.0; for (int i = 0; i < x.length; i++) { sum += x[i]; return sum; //her returneres sum til der metoden er kalt fra. //her avsluttes metoden finnsum //her avsluttes klassen Lengde 20-02-2006 17 Rekkefølge i eksekvering double total = finnsum(lengde); Uttrykket finnsum(lengde) gis verdien 22.05 total = 22.05; Argumentet lengde overføres til variabelen x i metoden finnsum double[] x = lengde; double sum = 0.0; for (int i = 0; i < x.length; i++){ sum += x[i]; return sum; 20-02-2006 18 Bruk av referanser som parametere Overlasting av metoder Et eksempel I forrige eksempel var parameteren til finnsum en arrayreferanse. Det lages ikke noen kopi av arrayobjektet når metoden kalles, så endringer som gjøres på arrayen inni metoden blir synlige utenfor metoden. Hva skriver programmet til høyre ut? class ArrayParameter { int[] a = {1, 2, 3, 4; finndelsummer(a); System.out.println("a[3] = " + a[3]); static void finndelsummer(int[] x) { for (int i=1; i<x.length; i++) { x[i] += x[i-1]; static int sum (int x, int y) { return x + y; static double sum (double x, double y) { return x + y; 20-02-2006 19 20-02-2006 20

Overlasting av metoder Flere metoder kan deklareres med samme metodenavn, forutsatt at Java klarer å avgjøre hvilken metode som skal kalles Krav: metodene har ulikt antall parametere eller metodene har ulik type på noen av parametrene, slik at Java alltid finner en entydig match Eksempel Overlasting: static int skrivut(double x, int y) {... static int skrivut(double x, double y) {... Her kan vi f.eks. ha kallet skrivut(2,7) - da velges første metode 20-02-2006 21 20-02-2006 22 Eksempel Overlasting: static int skrivut(double x, int y) {... static int skrivut(int x, double y) {... Her får vi kompilatorfeil hvis vi forsøker kallet skrivut(2,7)! Parameteren i metoden main Vi kaller aldri direkte på metoden main (selv om det er lov) - det er Java-kjøresystemet som gjør dette når programmet starter De argumenter vi gir etter java ProgramNavn blir overført til parameteren String[] args når main-metoden kalles 20-02-2006 23 20-02-2006 24

Eksempel (main) Oppgave 1: Hva blir utskriften? class SkrivArgumenter { if (args.length == 0) { System.out.println("Ingen argumenter"); for (int i = 0; i < args.length; i++) { System.out.print("Argument nr " + (i+1) + " var: "); System.out.println(args[i]); //her avsluttes main //her avsluttes SkrivArgumenter class Oppgave1 { System.out.println("Metode: main"); b(); static void a() { System.out.println("Metode: a"); static void b() { a(); System.out.println("Metode: b"); 20-02-2006 25 20-02-2006 26 Oppgave 2: Hva blir utskriften? class Oppgave2 { int x = 1; while (g(x) > 0) { System.out.println(x++); static int g (int x) { return 5-x; Tekster og klassen String En tekststreng er en sekvens av tegn (null, en eller flere), f.eks. * Kristina Hver tekststreng vi lager er et objekt av typen String 20-02-2006 27 20-02-2006 28

Tekster og klassen String En String-variabel (f.eks. String s) er en referanse til et slikt objekt Resultatet av å utføre String s = kake : s kake For å finne lengden (dvs antall tegn i) en tekst: Bruk av spesialtegn Både i char-uttrykk og i String-uttrykk kan vi ha mange ulike typer tegn Alle Unicode-tegn er tillatt Unicode er en standard som tillater tusenvis av tegn (ulike varianter fins; den som støttes av Java tillater 65536 ulike tegn) int lengde = s.length(); 20-02-2006 29 20-02-2006 30 Unicode-tegn i Java Alle tegnene kan angis som \uxxxx hvor hver x er en av 0, 1, 2,..., 9, A, B, C, D, E, F Eksempel: \u0041 er tegnet A Noen spesialtegn har egen forkortelse: \t tabulator \n linjeskift \ dobbelt anførselstegn \ enkelt anførselstegn \\ bakslask Konkatenering Operatoren + har flere betydninger i Java: mellom to tall: addisjon mellom to tekster : tekstkonkatenering mellom tekst og annen type : tekstkonkatenering Eksempel på overlasting av metode 20-02-2006 31 20-02-2006 32

Eksempel Husk at uttrykk i Java beregnes fra venstre mot høyre: Teste om to tekster er like Bruk av == virker av og til, men ikke alltid: class Konkatenering { System.out.println( Sum: + 2 + 3); System.out.println(1 + 2 + 3 + + 1 + 2 + 3); String s = "abc"; String t = "def"; System.out.println((s+t) == (s+t)); // Setningen over skriver ut false >java Konkatenering Sum: 23 6 123 20-02-2006 33 20-02-2006 34 Teste om to tekster er like For å teste om to tekststrenger er like, brukes equals: // Anta at s og t er tekstvariable //(og at s ikke har verdien null) if (s.equals(t)) { System.out.println("Tekstene er like"); else { System.out.println("Teksten er forskjellige"); De enkelte tegnene i en streng Tegnene i en tekststreng har posisjoner indeksert fra 0 og oppover 0 1 2 3 k a k e Vi kan få tak i tegnet i en bestemt posisjon: String s = kake ; char c = s.charat(1); // Nå er c == a 20-02-2006 35 20-02-2006 36

De enkelte tegnene i en streng Vi kan erstatte alle forekomster av et tegn med et annet tegn: String s1 = kake ; String s2 = s1.replace( k, r ); // Nå er s2 en referanse til tekststrengen rare Deler av en tekststreng Vi kan trekke ut en del av en tekststreng: String s = Paris ; String s1 = s.substring(1,4); // Nå er s1 tekststrengen ari 0 P 1 a 2 r 3 4 i s s.substring(1,4) 20-02-2006 37 20-02-2006 38 Deler av en tekststreng Generelt: s.substring(index1, index2) Første posisjon som skal være med Siste del av en tekststreng: Første posisjon som ikke skal være med String s = Paris er hovedstaden i Frankrike ; String s1 = s.substring(6); // Nå er s1 tekststrengen er hovedstaden i Frankrike 20-02-2006 39 Konvertere mellom små og store bokstaver Vi kan konvertere fra små til store bokstaver: String s = Jeg ER 18 år ; String s2 = s.touppercase(); // Nå er s2 tekststrengen JEG ER 18 ÅR Vi kan konvertere fra store til små bokstaver: String s = Jeg ER 18 år ; String s2 = s.tolowercase(); // Nå er s2 tekststrengen jeg er 18 år Det finnes tilsvarende metoder for å konvertere char-verdier: char c = x ; char c2 = Character.toUpperCase(c); char c3 = Character.toLowerCase(c); NB: merk skrivemåten! 20-02-2006 40

Eksempel 1 Metode som lager stor forbokstav i en tekststreng: static String StorForbokstav (String s) { String t; if (s.length() > 0) { char c = Character.toUpperCase(s.charAt(0)); t = c + s.substring(1); else { t = ; return t; Alfabetisk ordning Anta at s og t er tekstvariable (og at s ikke har verdien null) Er s foran t i alfabetet? int k = s.compareto(t); if (k < 0) { System.out.println(s + " er alfabetisk foran " + t); else if (k == 0) { System.out.println(s + " og " + t + " er like"); else { System.out.println(s + " er alfabetisk bak + t); 20-02-2006 41 20-02-2006 42 Inneholder en tekst en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Inneholder s teksten t? int k = s.indexof(t); if (k < 0) { System.out.println(s + " inneholder ikke " + t); else { System.out.println(s + " inneholder " + t); System.out.println("Posisjon til" + t + " i " + s + " er " + k); Starter en tekst med en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Starter s med teksten t? boolean b = s.startswith(t); if (b) { System.out.println(s + " starter med " + t); else { System.out.println(s + " starter ikke med " + t); 20-02-2006 43 20-02-2006 44

Slutter en tekst med en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Slutter s med teksten t? boolean b = s.endswith(t); if (b) { System.out.println(s + " ender med " + t); else { System.out.println(s + " ender ikke med " + t); 20-02-2006 45 Fra tall til tekst og omvendt For å konvertere fra tall til tekst: String s1 = String.valueOf(3.14); String s2 = String.valueOf('a'); String s3 = String.valueOf(false); String s4 = "" + 3.14 String s5 = "" + 'a'; String s6 = "" + false; For å konvertere fra tekst til tall: int k = Integer.parseInt(s); double x = Double.parseDouble(s); //(og tilsvarende for de andre numeriske datatypene) 20-02-2006 46 Å finne enkeltord i en tekst Av og til ønsker vi å kunne bryte opp en tekst i de enkelte ordene, der ordene er separert av spesielle skilletegn String metoden split( ) er et verktøy som kan brukes til dette Mer om for-løkke Anta at vi har en array ord av typen String som vi ønsker å gå gjennom en gang. Sist så vi på for løkker av formen: for (int i = 0; i < ord.length(); i++){ En annen måte å gå gjennom en tabell ved hjelp av for-løkke er: for (String s : ord){ Begge løkkene vil gå gjennom hvert element i en arrayene systematisk fra første til siste element. For å bruke kommandoen for (String s : ord) må du kjøre Java 1.5, gamle versjoner av java har ikke denne kommandoen. 20-02-2006 47 20-02-2006 48

Eksempel import easyio.*; class SplitDemo { public static void main(string [] args){ In tast = new In(); String mønster = ; System.out.print( Skriv en setning: ); String linje = tast.inline(); String[] ord = linje.split(mønster); for (String s: ord) { System.out.println(s); Tegn Regulære uttrykk. \d \D \s \S \w \W Betydning alle tegn siffer (0-9) alt som ikke er siffer blanke alle ikke blanke tegn Når regulære uttrykk brukes som mønster vil teksten splittes hver gang et av tegnene forklart under betydning oppstår. Disse tegnene vil ikke være med i tekst-arrayen som blir generert av split(string s) metoden i klassen String. siffer og alle bokstaver i det engelske alfabet Alt som ikke er siffer eller bokstaver i det engelske alfabet 20-02-2006 50 Eksempel Andre skilletegn import easyio.*; class SplitDemo2 { public static void main(string [] args){ In tast = new In(); System.out.print( Skriv inn mønster: ); String mønster = tast.inline; System.out.print( Skriv en setning: ); String linje = tast.inline(); String[] ord = linje.split(mønster); for (String s: ord) { System.out.println(s);