This is an old revision of the document!


Introduktion i Java

I detta avsnitt repeterar vi en del av det vi gjort tidigare men vi kodar i Java istället för i PHP.

Exempel:

import java.util.Scanner;
 
public class Test {
 
  public static int kvadrat(int n){
    return n*n;
  }
 
  public static void main(String[] args) {
    Scanner read = new Scanner(System.in);   // System.in ska inte stängas
    String namn;                  // Variabeldeklaration
    int tal = 0;                  // Initiering av variabel
 
    System.out.println("Ange ett namn");
    namn = read.nextLine();
    System.out.println("Namnet är " + namn);
    System.out.println("Ange ett tal");
    tal = read.nextInt();
    System.out.println(kvadrat(tal));
    read.nextLine();              // Tömmer inläsningsbuffert
    System.out.println("Ange ett tal");
    tal = read.nextInt();
    System.out.println(kvadrat(tal));
  }
}

1. Gör ett program där man ska mata in ett tal. Programmet ska sedan skriva ut “Hello World” lika många gånger som talet man angett. Använd while i loopen.

2. Kolla upp hur en for-sats fungerar. Modifiera sedan ditt program från föregående uppgift så att du använder for istället för while.

3. Gör ett program där där man ska svara på tre matematikuppgifter. Programmet ska sedan skriva ut hur många rätt man fått.

4. Gör ett program där man matar in ett tal. Programmet skall beräkna summan av alla heltal från ett upp till det du matade in.

Ex.
Mata in ett tal: 4
Summan blir: 10       (1+2+3+4)

5. Skriv en funktion printName som har ett namn och och ett tal som parametrar. Talet anger hur många gånger namnet ska skrivas ut.
Utgå från att det endast kommer godkända värden till funktionen.
Du skall använda funktionen i ett huvudprogram som läser in namnet och talet.

6. Skapa en metod som tar emot en temperatur i Farenheit och returnerar motsvarande temperatur i grader Celsius. Skapa även ett huvudprogram som testar metoden.

7. Gör ett program där man får mata in två strängar. Ifall strängarna är lika ska det skrivas ut “LIKA”, annars “OLIKA”. De båda strängarnas sammanlagda längd ska också skrivas ut.

8. Gör ett program där man matar in ett 3-siffrigt heltal. Programmet ska sedan skriva ut vilket hundratalet, tiotalet och entalet är.
a) Lös uppgiften med heltalsdivision ( % och /).
b) Lös uppgiften med strängar.

9. Klassen Math innehåller metoder för matematiska beräkningar. Undersök klassen i Javas API. Gör sedan ett program som använder sig av ett par av metoderna i Math för att göra en beräkning.

10. Skriv ett program som ger följande utskrift.

'\' är ett tecken och "Hej på dig!" är en sträng.

Kontrollera så att utskriften blir helt korrekt.

11. Gör en enkel översättare från svenska till engelska som ska klara 6 valfria ord. Programmet ska använda en switch-case-sats. När programmet körs matar man in ett svenskt ord och då skrivs den engelska översättningen ut.

12. Skriv ett program som låter användaren mata in 4 flyttal (double) i en array. Programmet skall därefter skriva ut samtliga tal i omvänd ordning.

13. Skriv ett program där man får ange ett heltal. Så många heltal mellan 1 och 20 ska slumpas och läggas in i en ArrayList.
Efter att alla tal ligger i din ArrayList ska summan av dem beräknas och skrivas ut.

14. Utgå från programmet nedan.

public class ArraySort {
 
    public static void main(String[] args) {
 
        int[] talArray = {56, 12, 11, 25};
 
    	// Din kod här!
 
    	System.out.println(talArray[0] + ", " + talArray[1] + ", " + 
                           talArray[2] + ", " + talArray[3]);
    }
}

Gör så att:
a) talen med index 0 och 1 byter plats om talet med index 1 är mindre än talet med index 0.
b) talen med index 1 och 2 byter plats om talet med index 2 är mindre än talet med index 1.
*c) alla tal i arrayen är i storleksordning, sorterad, med minsta talet först.

15.

String txt = "Jag heter Olle";

Skriv ett program som
a) skriver ut samtliga ord i textsträngen med radbrytning efter varje ord.
b) skriver ut “lle”. Använd substring!
c) skriver ut “eter”. Använd substring!

*16. Skriv ett program som läser in en höjd på en rätvinklig triangel. Programmet skall skriva ut den rätvinkliga triangeln med en bas som är lika stor som höjden.
Använd * - tecknet!

Exempelkörning

Triangelns höjd: 4
*
**
***
****

*17. Skriv en metod som tar emot en ArrayList av datatypen Double. Metoden skall returnera variationsbredden av värdena i arrayen.

*18. a) Skriv ett program som låter en användare mata in ett valfritt antal decimaltal. Talen skall sparas i en ArrayList. Efter varje inmatning skall användaren få en fråga om hen vill mata in fler tal.

Efter att man matat in talen skall nu en meny dyka upp i programmet, där följande val skall kunna göras
[1] Mata in nytt tal
[2] Beräkna medelvärdet av talen
[3] Beräkna variationsbredden
[4] Avsluta

Programmet ska återvända till menyn ifall man inte valt att avsluta.

b) Lägg till ytterligare alternativ som kan väljas i menyn.