Anteckningar från föreläsning 4

Detta är den programkod vi skrev -- anteckningarna är gjorda bara för att vara ett stöd för minnet för dem som var där, och därför inte nödvändigtvis fullständiga eller ens sammanhängande. Betydligt mer hjälp finns att hämta i kompendiet.

OH-bilder finns här.

Sammansatta logiska villkor

class Ascending {

    public static void main(String[] args) {
        new Ascending().run();
    }

    void run() {
        double a = Keyboard.nextDouble("a: ");
        double b = Keyboard.nextDouble("b: ");
        double c = Keyboard.nextDouble("c: ");
        if (isAscending(a, b, c)) {
            System.out.println("Jorå, växer");
        } else {
            System.out.println("inte växande");
        }
    }

    boolean isAscending(double a, double b, double c) {
        return a <= b && b <= c;
    }   
}

Typen char

class Characters {

    public static void main(String[] args) {
        new Characters().run();
    }

    void run() {
        char ch = 65;
        int n = 65;
        System.out.println(ch);
        ch++;
        System.out.println(ch);
        ch += 2;
        System.out.println(ch);
        ch = (char) (ch + 4);
        System.out.println(ch);
        System.out.println(n);
    }
}

class Alphabet {

    public static void main(String[] args) {
        new Alphabet().run();
    }

    void run() {
        printRange('A', 'Z');
        printRange('a', 'z');
        printRange('0', '9');
    }

    void printRange(char min, char max) {
        for (char ch = min; ch <= max; ch++) {
            System.out.print(ch);
        }
        System.out.println();
    }
}

Strängar

Vi löste följande två problem:

class ShowString {

    public static void main(String[] args) {
        new ShowString().run();
    }

    void run() {
        String s = Keyboard.nextLine("Skriv in en sträng: ");
        showString(s);
        printBackwards(s);
    }

    void showString(String string) {
        for (int k = 0; k < string.length(); k++) {
            char ch = string.charAt(k);
            int code = ch;
            System.out.println(k + ": " + ch + " [" + code + "]");
        }
    }

    void printBackwards(String string) {
        for (int k = string.length() - 1; k >= 0; k--) {
            System.out.print(string.charAt(k));
        }
        System.out.println();
    }
}

class EqualStrings {

    public static void main(String[] args) {
        new EqualStrings().run();
    }

    void run() {
        String name1 = "Bo";
        String name2 = Keyboard.nextLine("Ange namn: ");
        if (name1.equals(name2)) {
            System.out.println("Lika");
        } else {
            System.out.println("Olika");
        }
    }
}

class ReversingStrings {

    public static void main(String[] args) {
        new ReversingStrings().run();
    }

    String alphabet = "abcdefghijklm";

    void run() {
        String s = Keyboard.nextLine("Ange sträng: ");
        System.out.println("Baklänges: " + reverse(s));
    }

    String reverse(String s) {
        StringBuilder sb = new StringBuilder();
        for (int k = s.length() - 1; k >= 0; k--) {
            sb.append(s.charAt(k));
        }
        return sb.toString();
    }
}