Java-Problem mit Eingabe/Abfrage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Java-Problem mit Eingabe/Abfrage

    So.. Ein Kollege und ich haben ein Programm geschrieben, wo wir ein Objekt Person (P1) erstellen. Der Name wird eingegeben, genauso wie die Abfrage über das Geschlecht. Problem ist nur, dass das Geschlecht der jeweiligen Person immer, aber auch absolut immer, männlich ist. Egal was wir Versuchen einzutippen.

    Die Abfrage wird durch einen eingegebenen String realisiert, der per equals verglichen wird. Aber es funktioniert noch nicht so richtig... Haben schon mehrere Sachen ausprobiert.

    Guckt es euch einfach mal an :) Danke im Voraus.

    Ausführende Eintrag.java Klasse

    Quellcode

    1. import java.util.Scanner;
    2. class Eintrag {
    3. public static void main(String args[]){
    4. Scanner eingabe = new Scanner(System.in);
    5. Person P1 = new Person();
    6. P1.setName(eingabe.next());
    7. P1.setSex(eingabe.next());
    8. System.out.println(P1.getName());
    9. if(P1.getSex()) {
    10. System.out.println("Weiblich");
    11. } else {
    12. System.out.println("Meannlich");
    13. }
    14. }
    15. }
    Alles anzeigen


    Klasse Person

    Quellcode

    1. class Person
    2. {
    3. private String Name;
    4. private boolean Weiblich;
    5. public void setName(String pName)
    6. {
    7. Name = pName;
    8. }
    9. public String getName()
    10. {
    11. return Name;
    12. }
    13. public void setSex(String Sex)
    14. {
    15. Weiblich = Sex.equals("W");
    16. }
    17. public boolean getSex()
    18. {
    19. return Weiblich;
    20. }
    21. }
    Alles anzeigen

    -------------------------------------------------------------
    Ausgabe:

    Maria (<--- Eingegeben)
    W (<--- Eingegeben)
    Maria (<--- Ausgegeben)
    Meannlich (<--- Ausgegeben)

    Process completed.
    -------------------------------------------------------------
    MfG

    Euer One ^^
  • Re: Java-Problem mit Eingabe/Abfrage

    "One" schrieb:

    So.. Ein Kollege und ich haben ein Programm geschrieben, wo wir ein Objekt Person (P1) erstellen.


    Naja, das hört sich nach Hausaufgaben an! ;)

    "One" schrieb:



    Quellcode

    1. class Person
    2. {
    3. private String Name;
    4. private boolean Weiblich;
    5. public void setName(String pName)
    6. {
    7. this.Name = pName;
    8. }
    9. public String getName()
    10. {
    11. return this.Name;
    12. }
    13. public void setSex(String Sex)
    14. {
    15. this.Weiblich = Sex.equals("W");
    16. }
    17. public boolean getSex()
    18. {
    19. return this.Weiblich;
    20. }
    21. }
    Alles anzeigen



    Du hast this vergessen um auf die Properties zuzugreifen.
  • *lach* ^^

    Nein Hausaufgaben sind es nicht ^^ Hab von nem alten Kollegen der schon länger programmiert alte Scripts bekommen ums mir selber beizubringen und da ein Freund von mir auch noch Interesse dran hat sitzen wir da jetzt zusammen dran ;) Also in dieser Hinsicht brauch sich hier keiner Gedanken machen.

    Soll noch Leute geben die anständig sind :D

    Ich dank dir schon mal und probiers dann gleich mal aus. Ich meld mich wenn ich noch was nicht kapiere.

    MfG

    Marcel :)

    //edit
    Ok, es ist immer noch der selbe Fehler... Glaubste es würd was bringen wenn ich in die setSex()-Methode eine if-Abfrage starten würde? Mit boolschen Werten? ^^ Wenn ich Mist laber korrigier mich :D ;)
  • Ich hab gerade mal ein wenig rumprobiert und bei mir funktioniert alles so, wie es sein sollte

    $ java forum/Eintrag
    af
    W
    af
    Weiblich

    1. Bist du dir ganz sicher, dass du ein großes "W" geschrieben hast?
    2. Als kleiner Verbesserungsvorschlag

    Quellcode

    1. System.out.print("Name eingeben: ");
    2. P1.setName(eingabe.next());
    3. System.out.print("Geschlecht eingeben: ");
    4. P1.setSex(eingabe.next());

    dann siehst du wenigstens, was du eingeben sollst

    Interessante Möglichkeit, Scanner() für die Eingabe zu benutzen
    hab ich nicht gekannt

    Java Version wäre nicht schlecht (auch wenn es > 1.5 sein muss)