|
|
|
Java programering
|
Java programering
#1909663
09/01/2015 15:01
|
Registrert: Apr 2004
Innlegg: 655
Morteen
OP
Avhengig
|
OP
Avhengig
Registrert: Apr 2004
Innlegg: 655 |
Hei jeg skal lage et program som : "Skriver ut dine egne initialer i konsollet i form av store digitaliserte bokstaver": Har dere noen tips om hvor jeg kan finne en fremgangsmåte. Altså lage bokstaven M med f.eks. tegnet *
|
|
|
Re: Java programering
[Re: Morteen]
#1909673
09/01/2015 15:21
|
Registrert: Mar 2007
Innlegg: 2,879
mogens
Besatt
|
Besatt
Registrert: Mar 2007
Innlegg: 2,879 |
I sin enkleste form:
Finn frem et ruteark (papir) og tegn opp med blyant hvordan det skal se ut. Så er det bare å å skrive ut én og én string som tilsvarer en linje i rutearket. Banalt, men om det er alt programmet skal gjøre så er det ingen grunn til å gjøre det mer komplisert.
|
|
|
Re: Java programering
[Re: Morteen]
#1909688
09/01/2015 15:47
|
Registrert: Apr 2004
Innlegg: 655
Morteen
OP
Avhengig
|
OP
Avhengig
Registrert: Apr 2004
Innlegg: 655 |
Ja sef. Jeg så for meg at den skriver ut en innlest bokstav.
|
|
|
Re: Java programering
[Re: Morteen]
#1909712
09/01/2015 16:40
|
Registrert: Mar 2007
Innlegg: 2,879
mogens
Besatt
|
Besatt
Registrert: Mar 2007
Innlegg: 2,879 |
Hvis det er alt programmet skal gjøre, er det ingen grunn til å gjøre det vanskeligere. Skal du lage en mer generisk løsning som håndterer brukerinput, kan du jo representere hver bokstav i en todimensjonal matrise som tilsvarer rutenettet visuelt med hhv ' ' og '*'. (den kan like godt være en en-dimensjonal array, men litt enklere å tenke visuelt med to dimensjoner).
Da kan du plukke de bokstav-matrisene du trenger og skrive dem ut via en nøstet loop.
i pseudokode
for LineNo=1 to antall linjer for each Bokstav { for CharNo = 1 to Bokstav.Width { print Bokstav(LineNo, CharNo) } print ' ' // space før neste bokstav } Edit: indenteringen forsvant i visningen.
(jeg husker ikke i farten om arrays i Java er 1-bound eller 0-bound, men det er mindre vesentlig)
Redigert av mogens; 09/01/2015 16:43.
|
|
|
Re: Java programering
[Re: mogens]
#1909717
09/01/2015 17:02
|
Registrert: Oct 2009
Innlegg: 3,567
femte_gir
Besatt
|
Besatt
Registrert: Oct 2009
Innlegg: 3,567 |
Hvis det er alt programmet skal gjøre, er det ingen grunn til å gjøre det vanskeligere. Skal du lage en mer generisk løsning som håndterer brukerinput, kan du jo representere hver bokstav i en todimensjonal matrise som tilsvarer rutenettet visuelt med hhv ' ' og '*'. (den kan like godt være en en-dimensjonal array, men litt enklere å tenke visuelt med to dimensjoner).
Da kan du plukke de bokstav-matrisene du trenger og skrive dem ut via en nøstet loop. Eller, at hver bokstav tilsvarer en funksjon (med løkke i) som skriver ut bokstaven. Tror det er dette oppgaven går ut på. Men siden dette er mye arbeid så holder det med kun egne initialer, altså 2-3 funksjoner.
|
|
|
Re: Java programering
[Re: Morteen]
#1909723
09/01/2015 17:14
|
Registrert: Jun 2008
Innlegg: 387
TEK
Entusiast
|
Entusiast
Registrert: Jun 2008
Innlegg: 387 |
Hmm...
void PrintBokstav(console out, char c, Font f){ // finn et grafisk objekt // finn ut pixslene som bokstaven bygges opp av // konverter posisjonen for pixslene til et rutenett // skriv ut * på hver posisjon i rutenettet med en pixel }
Mye mer jobb, og et par små detaljer og finne ut av, men mye mer moro da ;-)
Scott Spark RC 2011 Hard Rocx Equilibrium Cambrium Discimus 2007
|
|
|
Re: Java programering
[Re: femte_gir]
#1909730
09/01/2015 17:19
|
Registrert: Mar 2007
Innlegg: 2,879
mogens
Besatt
|
Besatt
Registrert: Mar 2007
Innlegg: 2,879 |
Men gitt at bokstavene skal skrives ut på linje, f.eks. ABC, og det skal skje til konsoll, så må man jo skrive ut én linje av hver bokstav om gangen. Om du har en funksjon for hver bokstav i sekvens, vil det jo måtte bli A B C
Output til konsoll setter begrensningene.
Uansett er det et godt programmeringsprinsipp å ikke gjøre koden mer kompleks og generisk enn det som er nødvendig for å løse oppgaven.
|
|
|
Re: Java programering
[Re: TEK]
#1909734
09/01/2015 17:22
|
Registrert: Mar 2007
Innlegg: 2,879
mogens
Besatt
|
Besatt
Registrert: Mar 2007
Innlegg: 2,879 |
Hmm...
void PrintBokstav(console out, char c, Font f){ // finn et grafisk objekt // finn ut pixslene som bokstaven bygges opp av // konverter posisjonen for pixslene til et rutenett // skriv ut * på hver posisjon i rutenettet med en pixel }
Mye mer jobb, og et par små detaljer og finne ut av, men mye mer moro da ;-) Jeg tenker på konsoll som standard tekst output som skrives en linje om gangen, om det er en grafisk presentasjon på pixelnivå blir det jo straks noe annet...
|
|
|
Re: Java programering
[Re: Morteen]
#1909739
09/01/2015 17:33
|
Registrert: Jun 2008
Innlegg: 387
TEK
Entusiast
|
Entusiast
Registrert: Jun 2008
Innlegg: 387 |
Du leser pikslene fra fontem også skriver du dem ut i konsollet. Burde skrevet en bedre pseudekode, men da må,jeg ha et skikkelig tastatur først - gidder ikke fra pad'en. I forhold til oppgaven er det sikkert way overkill.
Er egentlig samme som du beskrev, bare at istedenfor å manuelt lage en todimensjonal matrise for hver bokstav leser man det ut fra fonten.
Scott Spark RC 2011 Hard Rocx Equilibrium Cambrium Discimus 2007
|
|
|
Re: Java programering
[Re: TEK]
#1909741
09/01/2015 17:40
|
Registrert: Mar 2007
Innlegg: 2,879
mogens
Besatt
|
Besatt
Registrert: Mar 2007
Innlegg: 2,879 |
|
|
|
|
|
|
|