Løsningforslag: stjerneoppgaver uke 2: 30. aug - 5. sep (INF1000 - Høst 2013)

Oppgavesett: stjerneoppgaver uke 2.

Oppgaver med løsningsforslag

  • (*) Bytte verdiene i to variable:
    Lag et program som inneholder to heltallsvariable, a = 2 og b = 10. Skriv kode som bytter om verdiene i de to variablene, og skriver resultatet til skjerm. (Resultatet skal altså være a = 10 og b = 2). Programmet skal fungere for alle verdier av a og b, du kan altså ikke skrive a = 10; og b = 2; direkte i programmet ditt. Prøv med andre verdier for a og b, og sjekk at programmet fortsatt fungerer.
     
    class Bytt {
       public static void main(String[] args) {
           int a = 2;
           int b = 10;
    
           int tmp = a; // Husker verdien til a
           a = b;       // a kan nå få ny verdi (b)
           b = tmp;     // b får den opprinnelige verdien til a
    
           System.out.println("a er nå: " + a);
           System.out.println("b er nå: " + b);
       }
    }
    
    
    
  • Enten eller (variable og forgreninger):
    Det finnes et ordtak som sier at "man kan ikke få både i pose og sekk". Lag et program med variablene pose og sekk. Implementer (programmer) en eller flere if-tester som sjekker at du ikke får både i pose og sekk. Eksperimenter med ulike verdier (ulike kombinasjoner av true/false) for variablene pose og sekk.
     
    class EntenEller {
       public static void main(String[] args) {
           boolean pose = true;  // eller false
           boolean sekk = false; // eller true
    
           if (pose && sekk) {
               System.out.println("Beklager, du kan ikke få både i pose og sekk.");
           }
       }
    }

     
  • Sjekke siste siffer (variable og forgreninger)
    Gitt tre heltallsvariable, a, b og c med ikke-negative verdier som du velger selv. Sjekk om to eller flere har felles siste siffer, og skriv eventuelt ut disse til skjerm.
    class SisteTall {
    
        public static void main(String[] args) {
            int a = 8;
            int b = 118;
            int c = 2;
    
            int lastA = a % 10;
            int lastB = b % 10;
            int lastC = c % 10;
    
            if (lastA == lastB) { 
                System.out.println(a + " og " + b + " har samme siste siffer");
            }
    
            if (lastB == lastC) { 
                System.out.println(b + " og " + c + " har samme siste siffer");
            }
        
            if (lastA == lastB) { 
                System.out.println(a + " og " + c + " har samme siste siffer");
            }
    
        }
    
    }
    
     
Publisert 23. aug. 2013 09:27 - Sist endret 5. sep. 2013 16:35