Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Merkkiluokkien Toteuttaminen | Edistyneet Java-Ominaisuudet ja -Tekniikat
Java-tietorakenteet

bookHaaste: Merkkiluokkien Toteuttaminen

Tehtävä

Laadi Java-ohjelma, joka käyttää enum-tyyppiä nimeltä CharacterClass erilaisten pelihahmoluokkien esittämiseen. Jokaisella hahmoluokalla tulee olla liitetyt ominaisuudet kuten elinvoimapisteet (hp) ja hyökkäyspisteet (atk). Toteuta metodi printStats(), joka tulostaa hahmon tilastot.

Main.java

Main.java

copy
123456789101112131415161718
enum CharacterClass { WARRIOR, MAGE, ARCHER, ROGUE, // Write your code here } public class Main { public static void main(String[] args) { // Test the enum methods CharacterClass warrior = CharacterClass.WARRIOR; CharacterClass mage = CharacterClass.MAGE; warrior.printStats(); mage.printStats(); } }
  • Määrittele enum nimeltä CharacterClass, jossa on eri hahmoluokkia (esim. Warrior, Mage) ja niiden ominaisuudet (esim. hp, atk);
  • Lisää enum-tyyppiin konstruktori, joka alustaa kunkin hahmoluokan ominaisuudet;
  • Toteuta enum-tyyppiin metodi printStats(), joka tulostaa hahmon tilastot, mukaan lukien luokan nimi, elinvoimapisteet (hp) ja hyökkäyspisteet (atk);
  • Luo pääohjelmassa hahmoluokkien ilmentymiä ja kutsu printStats()-metodia niiden tilastojen näyttämiseksi.
package com.example;

// Enum definition
enum CharacterClass {
    WARRIOR(100, 20), MAGE(80, 30), ARCHER(90, 25), ROGUE(85, 28);

    // Attributes
    private final int hp;
    private final int atk;

    // Constructor
    CharacterClass(int hp, int atk) {
        this.hp = hp;
        this.atk = atk;
    }

    // Method to print character statistics
    public void printStats() {
        System.out.println("Character Class: " + this);
        System.out.println("Health Points (HP): " + hp);
        System.out.println("Attack Points (ATK): " + atk);
        System.out.println();
    }
}

public class Main {
    public static void main(String[] args) {
        // Test the enum methods
        CharacterClass warrior = CharacterClass.WARRIOR;
        CharacterClass mage = CharacterClass.MAGE;

        warrior.printStats();
        mage.printStats();
    }
}
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookHaaste: Merkkiluokkien Toteuttaminen

Pyyhkäise näyttääksesi valikon

Tehtävä

Laadi Java-ohjelma, joka käyttää enum-tyyppiä nimeltä CharacterClass erilaisten pelihahmoluokkien esittämiseen. Jokaisella hahmoluokalla tulee olla liitetyt ominaisuudet kuten elinvoimapisteet (hp) ja hyökkäyspisteet (atk). Toteuta metodi printStats(), joka tulostaa hahmon tilastot.

Main.java

Main.java

copy
123456789101112131415161718
enum CharacterClass { WARRIOR, MAGE, ARCHER, ROGUE, // Write your code here } public class Main { public static void main(String[] args) { // Test the enum methods CharacterClass warrior = CharacterClass.WARRIOR; CharacterClass mage = CharacterClass.MAGE; warrior.printStats(); mage.printStats(); } }
  • Määrittele enum nimeltä CharacterClass, jossa on eri hahmoluokkia (esim. Warrior, Mage) ja niiden ominaisuudet (esim. hp, atk);
  • Lisää enum-tyyppiin konstruktori, joka alustaa kunkin hahmoluokan ominaisuudet;
  • Toteuta enum-tyyppiin metodi printStats(), joka tulostaa hahmon tilastot, mukaan lukien luokan nimi, elinvoimapisteet (hp) ja hyökkäyspisteet (atk);
  • Luo pääohjelmassa hahmoluokkien ilmentymiä ja kutsu printStats()-metodia niiden tilastojen näyttämiseksi.
package com.example;

// Enum definition
enum CharacterClass {
    WARRIOR(100, 20), MAGE(80, 30), ARCHER(90, 25), ROGUE(85, 28);

    // Attributes
    private final int hp;
    private final int atk;

    // Constructor
    CharacterClass(int hp, int atk) {
        this.hp = hp;
        this.atk = atk;
    }

    // Method to print character statistics
    public void printStats() {
        System.out.println("Character Class: " + this);
        System.out.println("Health Points (HP): " + hp);
        System.out.println("Attack Points (ATK): " + atk);
        System.out.println();
    }
}

public class Main {
    public static void main(String[] args) {
        // Test the enum methods
        CharacterClass warrior = CharacterClass.WARRIOR;
        CharacterClass mage = CharacterClass.MAGE;

        warrior.printStats();
        mage.printStats();
    }
}
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2
some-alt