boolean Methode vergleichen

R3LLiK

Grünschnabel
Ich habe probleme zu wissen ob man das so schreiben kann.

Java:
 public boolean enthealt(String muskel) {
       return this.equals(muskel);
    }

Die Aufgabenstellung ist:  liefert true, wenn dieses Gerät den angegebenen muskel unterstützt.
 
Hi

Die Methode selber ist nicht falsch; hängt aber davon ab dass equals eben auch mit Strings umgehen kann.

Beim Namen (Buchstabendreher) und der Beschreibung kommen aber Zweifel am Sinn auf... wie schaut denn die gesamte Klasse aus?
 
Java:
package Fitness;

public class Fitnessgeraete {

    private String geraetename;
    private String geraetetyp;
    private Muskelgruppe muskeln;
    private int maxtraining;
    private int verbrauchtekalorien;
    private boolean stromversorgung;


    //Konstructor für die Klasse Fitnessgeraete mit allen Eigenschaften.
    public Fitnessgeraete (String geraetename, String geraetetyp,Muskelgruppe muskeln, int maxtraining, int verbrauchtekalorien, boolean stromversorgung)
    {
        this.geraetename = geraetename;
        this.geraetetyp = geraetetyp;
        this.muskeln = muskeln;
        this.maxtraining = maxtraining;
        this.verbrauchtekalorien = verbrauchtekalorien;
        this.stromversorgung = stromversorgung;
    }

    public int kalorienVerbrauch (int minuten)
    {
        double kalorienverbrauchprominute;
        kalorienverbrauchprominute = ((double)verbrauchtekalorien / 60) * minuten;
        return (int) kalorienverbrauchprominute;
    }

    public int kalorienVerbrauch (int stunden, int minuten)
    {
        return kalorienVerbrauch(minuten + 60 * stunden);
    }

    /*public void setVerbrauchtekalorien(int verbrauchtekalorien) {
        this.verbrauchtekalorien = verbrauchtekalorien;
    }*/

    public int getVerbrauchtekalorien(){
        return this.verbrauchtekalorien;
    }

    public boolean enthealt(String muskel) {
        return this.equals(muskel);
    }

    public boolean unterstuetzt (Muskelgruppe muskelGruppe)
    {
       return this.equals(muskelGruppe);
    }

    public boolean benoetigtStromversorgung ()
    {
        return stromversorgung;
    }
}
 
Da gibts eine Muskelgruppe muskeln, die vermutlich mehrere Muskeldaten enthält?, und du sollst herausfinden ob der Parameter da enthalten ist ... die übergebene Muskel mit dem ganzen Fitnessgeraete zu vergleichen macht wie vermutet keinen Sinn.
 
Hier ist sie
Java:
package Fitness;

public class Muskelgruppe {

    private String muskelgruppe;
    public String muskeln[];

    public Muskelgruppe(String muskelgruppe, String muskeln[]) {
        this.muskelgruppe = muskelgruppe;
        this.muskeln = muskeln;
    }



    public boolean enthealt(String muskel) {

        for (String m : muskeln) {
            m.equals(muskel);

        }
        return true;
    }
}

der gibt mir immer das falsche aus
 
Hi,

versuchs mal so:
Java:
    public boolean enthealt(String muskel) {
        for (String m : muskeln) {
            if(m.equals(muskel)) return true;
        }
        return false;
    }

Grüsse,
BK

// Edit: Verwende bitte englische Bezeichner für deine Methodennamen. Wenn ich Methoden wie "enthaelt" lese, dann ziehts mir kalt den Rücken runter. "contains" wäre hier der richtige Name.
 
Zuletzt bearbeitet:
Jetzt hab ich das Prinzip verstanden. Danke dir.
Hab aber noch ein problem Bei dieser Methode muss ich folgendes machen liefert true, wenn dieses Gerät ein eine bestimmte muskelGruppe unterstützt
Java:
 public boolean unterstuetzt (Muskelgruppe muskelGruppe)
    {
       if (this.equals(muskelGruppe)){
           return true;
       }else
           return false;
    }
 
Hallo! Ich habe das gleiches Problem. Kann jemand meine Code korrigieren?

Java:
public class Muskelgruppe {


    private String[] muskel;

    private String muskelgruppe;

    public Muskelgruppe(String muskelgruppe, String muskel[]) {
        this.muskelgruppe = muskelgruppe;
        this.muskel = muskel;
    }

    Muskelgruppe Legs = new Muskelgruppe("Legs", new String[]{"Quadriceps", "Hips", "Calves", "Hamstrings"});
    Muskelgruppe Back = new Muskelgruppe("Back", new String[]{"LOwer back", "Middle back", "Traps"});
    Muskelgruppe Arms = new Muskelgruppe("Arms", new String[]{"Biceps", "Triceps", "Forearms"});
    Muskelgruppe Shoulders = new Muskelgruppe("Shoulders", new String[]{"Delts"});
    Muskelgruppe Chest = new Muskelgruppe("Chest", new String[]{"Lower chest", "Middle chest", "Upper chest"});
    Muskelgruppe Abs = new Muskelgruppe("Abs", new String[]{"Lower abs", "Upper abs"});

    public boolean enthealt(String muskel) {
        for (String m : muskel) {
            if(m.equals(muskel)) return true;
        }
        return false;
    }
    }

Klasse Fitnessgerät
Java:
import java.util.Arrays;

public class Fintessgeraet {


    private String geraetename;
    private String geraetetyp;
    private int maxTrainingsdauer;
    public int verbrauchteKkal;
    private int stundennachmin;
    private boolean stromversorgung;
    private Muskelgruppe muskel;
    private String muskelgruppe;


    public Fintessgeraet(String geraetename, String geraetetyp, int maxTrainingsdauer, String muskelgruppe, int verbrauchteKkal) {
        this.geraetename = geraetename;
        this.geraetetyp = geraetetyp;
        this.maxTrainingsdauer = maxTrainingsdauer;
        this.muskelgruppe = muskelgruppe;
        this.verbrauchteKkal = verbrauchteKkal;
    }

    public void setGeraetename(String geraetename) {
        this.geraetename = geraetename;
    }

    public void setGeraetetyp(String geraetetyp) {
        this.geraetetyp = geraetetyp;
    }

    public void setMaxTrainingsdauer(int maxTrainingsdauer) {
        this.maxTrainingsdauer = maxTrainingsdauer;
    }

    public void setMuskelgruppe(String Muskelgruppe) {
        this.muskelgruppe = muskelgruppe;
    }

    public void setMuskel(Muskelgruppe muskel) {
        this.muskel = muskel;
    }

    public String getGeraetename() {
        return geraetename;
    }

    public String getGeraetetyp() {
        return geraetetyp;
    }

    public int getMaxTrainingsdauer() {
        return maxTrainingsdauer;
    }

    public int getVerbrauchteKkal() {
        return this.verbrauchteKkal;
    }

    public String getMuskelgruppe() {
        return this.muskelgruppe;
    }

    public Muskelgruppe getMuskel() {
        return this.muskel;
    }


    int kalorienverbrauch(int minuten) {
        double kkalverbrauchpromin;
        kkalverbrauchpromin = ((double) verbrauchteKkal / 60) * minuten;
        return (int) kkalverbrauchpromin;
    }

    int kalorienverbrauch(int minuten, int stunden) {
        return kalorienverbrauch(minuten + 60 * stunden); //berechnet stunden-> minuten

    }


    boolean benoetigtStromversorgung() {
        if (this.geraetetyp == "Cardio") {
            return true;
        } else {
            return false;
        }
    }


    boolean unterstützt(String muskel) {
        return this.muskel.equals(muskel);
    }

    boolean unterstützt(Muskelgruppe muskelgruppe) {
        return this.muskelgruppe.equals(muskelgruppe);




    }
}

Vielen Dank für alle Hilfe im Voraus)
 

Neue Beiträge

Zurück