L?sningsforslag ukeoppg. 1: 22. ? 28. aug (INF1000 - H?st 2013)

_亚博娱乐官网_亚博pt手机客户端登录

Oppgavesettet: Ukeoppgaver 1.

[N?kkeloppg.]: Oppgave merket med n?kkelsymbol er plukket ut som spesielt representativ for de viktigste temaene fra ukens forelesning, og alle b?r ha som minimumsm?l ? l?se denne selvstendig.

Oppgaver

  • Finn fem syntaksfeil:  kap. 1, oppg. 3 (side 26)
    Finn feilene i dette programmet:
    class Utskrift {
        public stitac void main(String args) (
            System.out.println("Beethoven skrev Skjebnesymfonien")
            System.out.println("og ?tte andre symfonier.);
        }
    }
    
    Det er fem syntaksfeil i programmet:
       1. N?kkelordet "static" er stavet feil.
    
       2. Det mangler hakeparenteser ("[]") etter "String" p? linje 2.
          Denne feilen oppdages ikke av kompilatoren, men av kj?resystemet
          fordi det er lov ? lage metoder uten "[]" der, bare ikke lov
          ? bruke de som hoved-main-metoden n?r man kj?rer et program.
          Kj?resystemet gir ofte litt mer uventede feilmeldinger enn
          kompilatoren, men disse vil du ogs? etter hvert l?re deg ? kjenne
          igjen.  I dette tilfellet f?r vi f?lgende feilmelding n?r vi
          pr?ver ? kj?re programmet:
    
            java.lang.NoSuchMethodError: main
            Exception in thread "main"
    
          Som vi ser s? betyr feilmeldingen at kj?resystemmet ikke fant
          noen (riktig skrevet) main-metode.
    
       3. Det st?r vanlig parentes i stedet for kr?llparentes p? slutten
          av linje 2.
    
       4. Det mangler semikolon p? slutten av linje 3.
    
       5. Avsluttende anf?rselstegn mangler p? linje 4.
    
    

  • [N?kkeloppg.]Bokstavpyramide:  kap. 1, oppg. 5 (side 26)
    Vi ?nsker ? skrive ut f?lgende tekst p? skjermen (med samme pyramideformatering):
        a
       a a
      a b a
     a c c a
    a d f d a
    
    Lag et Java-program som gj?r dette, ved ? bruke flere utskriftssetninger.

    Tips:
    Idéen her er ? finne hvor og hvordan man kan legge inn mellomroms-tegn i programmet for ? f? til pyramideformateringen. Senere i kurset, i kapittel 3 (side 54) vil du l?re en annen m?te ? l?se denne oppgaven p? hvor Java tar seg av pyramideformateringen.
    class Pyramide {
        public static void main(String[] args) {
            System.out.println("    a"); // 4 mellomrom f?r ?a?
            System.out.println("   a a"); // 3 mellomrom f?r ?a a?
            System.out.println("  a b a");
            System.out.println(" a c c a");
            System.out.println("a d f d a");
        }
    }

    Her er en annen m?te ? programmere dette p?, som gir samme resultat.
    "\n" (bakover-skr?strek etterfulgt av n) er koden for linjeskift i Java.
     
    class Pyramide {
        public static void main(String[] args) {
            System.out.println("    a\n"
                               + "   a a\n"
                               + "  a b a\n"
                               + " a c c a\n"
                               + "a d f d a");
        }
    }

    Kj?reeksempel: (Begge programmene ovenfor gir samme resultat)
    > javac Pyramide.java
    > java Pyramide
        a
       a a
      a b a
     a c c a
    a d f d a
    


Tilbakemelding p? dette oppgavesettet kan du skrive i bloggen eller sende p? mail til siriamj [a]ifi.uio.no

Publisert 23. aug. 2013 08:59 - Sist endret 5. sep. 2013 16:37