Denkfehler? Hilfe

Neuling47

Aktives Mitglied
Hallo zusammen ich habe mal eine frage
ich habe mit einem Freund diesen Code bearbeitet jedoch versuch ich nun in der Console die die Klasse zu testen und es klappt nicht woran liegt es ?
der code ist:
Java:
public class Mietwohnung {

        private String adresse;
        private int quadratmeter;
        private double kaltmiete;
        private double nebenkosten;
        private boolean balkonVorhanden;
      
        private static int vorhandeneMietwohnungen;

        
        public Mietwohnung(String straße,int plz, String ort,int quadratmeter, double kaltmiete, double nebenkosten,boolean balkonVorhanden) {
            adresse = straße + "\n" +plz+ " " + ort;
            this.quadratmeter = quadratmeter;
            this.kaltmiete = kaltmiete;
            this.nebenkosten = nebenkosten;
            this.balkonVorhanden = balkonVorhanden;
            this.vorhandeneMietwohnungen++;
        }

        
        public Mietwohnung(String straße,int plz, String ort,int quadratmeter,boolean balkonVorhanden) {
            adresse = straße + "\n" + plz + " " + ort;
            this.quadratmeter = quadratmeter;
            this.balkonVorhanden = balkonVorhanden;
            this.vorhandeneMietwohnungen++;
        }

      
        public void setKaltmiete(double kaltmiete) {
            this.kaltmiete = kaltmiete;
        }

        

        public void setNebenkosten(double nebenkosten) {
            this.nebenkosten = nebenkosten;
        }

        private double getMonatlicheWarmmiete() {
            return kaltmiete + nebenkosten;
        }

        public double getJaehrlicheWarmmiete() {
            return getMonatlicheWarmmiete()*12;
        }

      
        @Override
        public String toString() {
            String ergebnis;
            if(balkonVorhanden) {
                ergebnis = this.adresse + "\n" + "Die Wohnung hat: " + quadratmeter + " Quadratmeter.\n"
                        +"Die Kaltmiete beträgt " + kaltmiete + " Euro.\n"
                        +"Die Nebenkosten von der Wohnung betragen " + nebenkosten + "Euro.\n" + ""
                        +"Die Monatliche Warmmiete beträgt somit " + getMonatlicheWarmmiete() + " Euro.\n"
                        +"Die Wohnung hat zusätlich ein Balkon.\n"
                        +"Und die Jährliche Warmmiete beträgt: " + getJaehrlicheWarmmiete() + " Euro.\n";

            }
            else {
                ergebnis=this.adresse + "\n" +"Die Wohnung hat: "+quadratmeter+"Quadratmeter.\n"
                        + "Die Kaltmiete beträgt "+kaltmiete+"Euro.\n"
                        + "Die Nebenkosten von der Wohnung betragen "+nebenkosten+"Euro.\n"+ ""
                        + "Die Monatliche Warmmiete beträgt somit "+getMonatlicheWarmmiete()+"Euro.\n"
                        + "Und die Jährliche Warmmiete beträgt: "+getJaehrlicheWarmmiete()+" Euro.\n";
            }


            return ergebnis;
        }


        public static int getAnzahlMietwohnungen() {
            return vorhandeneMietwohnungen; 
          
        }
      
}
 
und der fehler ist dass?

auf jedenfall ist this.vorhandeneMietwohnungen als warning zu sehen.. es funktioniert zwar aber es ist static und sollte nicht im this. kontext geschrieben werden sondern einfachn nur this. weg lassen
 
was hast du wohin platziert in java kann man vieles irgendwo hin platzieren

ich denke mal du willst das objekt ausgeben?!?
keine ahnung

dann musst du dir ein objekt erstellen in deiner Main Methode ( die is mal gar nicht da , was schlecht ist da dies die einzige methode ist die du brauchst )
und dann schreibst du da rein
Java:
Var haus = new MietWohnung ( ... );
System.out.println(haus);
der code hat keinen syntax typo das kann ich dir fix sagen
 
was hast du wohin platziert in java kann man vieles irgendwo hin platzieren

ich denke mal du willst das objekt ausgeben?!?
keine ahnung

dann musst du dir ein objekt erstellen in deiner Main Methode ( die is mal gar nicht da , was schlecht ist da dies die einzige methode ist die du brauchst )
und dann schreibst du da rein
Java:
Var haus = new MietWohnung ( ... );
System.out.println(haus);
der code hat keinen syntax typo das kann ich dir fix sagen
danke erstmals ja am besten gebe ich die objekte aus:
ich hab das mit der Syntax typo nicht ganz verstanden das hab ich nun versuchst
Java:
public static void main(String args[]) {
            Mietwohnung haus = new Mietwohnung ( adresse, quadratmeter, adresse, quadratmeter, balkonVorhanden  );
            System.out.println(haus);
aber er gibt bei allem 0 aus oder will das ich es in static umwandel (was ich in new Mietwohnung hinzugefügt habe)
 
Java:
adresse, quadratmeter, adresse, quadratmeter, balkonVorhanden
was steht da denn gerade drinnen? ich nehme an da steht gar nix drinnen

steht denn irgendwo
String adresse = "javaforum"; ?
 
hättest du mit objekten gearbeitet wärst du eher in einen Nullpointer gelatscht wo es dann klarer gewesen wäre nur int als primitiver datentyp hat immer den wert 0 wenn nichts anderes gegeben ist
 

Zurück
Oben