Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » String aus anderer Klasse » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen String aus anderer Klasse
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Robert93
Grünschnabel


Dabei seit: 25.08.2014
Beiträge: 8

String aus anderer Klasse Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hey Leute,
ich bin neu in der Programmierwelt, habe mir ein Java-Buch gekauft und arbeite mich Stück für Stück in Java ein.
Bin momentan in der OO-Programmierung angelangt, und hatte mir überlegt ein Mini-Quiz zu programmieren.
Dabei wollte ich unbedingt boolean mit reinschreiben, da ich damit etwas rumspielen wollte, da ich vorher noch nichts damit gemacht habe.
Aber irgendwie lässt sich ein String Wert aus dem Objekt e1 nicht herauslesen! Hoffe ihr könntet eventuell kurz drüberschauen und mir die Fehler erklären die ich gemacht habe? smile
Danke euch.

Meine Ideen:
Hier die Codes:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
public class ProgrammStarten  {
    public static void main(String[] args)  {

    Quiz starten = new Quiz();
    starten.starteQuiz();
  }//end main
}//end class


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
import java.util.*;

public class Eingabe  {
  void antworteingabe()  {
  Scanner sc = new Scanner(System.in);

  System.out.println("etwas Eingeben");

  String eingabe = sc.next();
  }//end antworteingabe
}//end class


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public class Antwort  {

boolean antwort1 = false;

void quizantwort()  {
  if(antwort1 == true)  {
  System.out.println("Das war die richtige Antwort");
  }//end if
  else{
  System.out.println("Diese Antwort ist nicht richtig");
  }//end else
}//end quizantwort
}//end class


Und hier das Hauptprogramm:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
public class Quiz  {

    public void starteQuiz()  {

    Eingabe e1 = new Eingabe();
    Antwort a1 = new Antwort();

    System.out.println("Willkommen zum Quiz");
    System.out.println("Wer war...?");

    e1.antworteingabe();

    if(e1.eingabe == "1")  {
    a1.antwort1 = true;
    a1.quizantwort();
    }//end if
  }//end starteQuiz
}//end class
25.08.2014 21:44 Robert93 ist offline Beiträge von Robert93 suchen Nehmen Sie Robert93 in Ihre Freundesliste auf
ed209
Routinier


Dabei seit: 07.09.2006
Beiträge: 324

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi Robert,

Willkommen in der Programmierwelt Wink

Du hast deine Variable eingabe als lokale Variable in der Methode antworteingabe deklariert. Das bedeutet, daß du nur innerhalb dieser Methode darauf zugreifen kannst.

Wenn Du von außerhalb darauf zugreifen willst musst du deine Variable als Feld der Klasse Eingabe deklarieren.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
import java.util.*;

public class Eingabe  {

  public String eingabe;

  void antworteingabe()  {
  Scanner sc = new Scanner(System.in);

  System.out.println("etwas Eingeben");

  eingabe = sc.next();
  }//end antworteingabe
}//end class


Habs nicht getestet, viel Glück Augenzwinkern

ED
26.08.2014 00:44 ed209 ist offline E-Mail an ed209 senden Beiträge von ed209 suchen Nehmen Sie ed209 in Ihre Freundesliste auf
Robert93
Grünschnabel


Dabei seit: 25.08.2014
Beiträge: 8

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke, hat funktioniert. Jedenfalls womit ich ein Problem hatte.
Das Programm läuft allerdings immer noch nicht wie gewünscht^^
Ich werde mal noch etwas damit rumspielen.
Danke dennoch für die Hilfe Augenzwinkern Hat mich etwas weiter gebracht smile
27.08.2014 20:14 Robert93 ist offline Beiträge von Robert93 suchen Nehmen Sie Robert93 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was mir spontan auffällt:
code:
1:
if(e1.eingabe == "1")

kurze Antwort: das funktioniert so nicht, nimm e1.eingabe.equals("1")
lange Antwort: == vergleicht zwei Objekte. Du hast hier aber zwei verschiedene Strings (stehen an verschiedenen Stellen des Speichers). Hier wird nicht auf den Inhalt der Strings geprüft, sondern auf die Adresse. In C# z.B. würde der Vergleich so funktionieren, in Java nicht.

__________________
Syntax Highlighting fürs Board (Link)
28.08.2014 08:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Robert93
Grünschnabel


Dabei seit: 25.08.2014
Beiträge: 8

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo euler,

top danke! Das war mein Problem. Noch etwas rumgeschraubt an der ganzen Sache und jetzt funktionierts einwandfrei.

Tolle Sache, das hier. Danke euch Augenzwinkern
28.08.2014 21:23 Robert93 ist offline Beiträge von Robert93 suchen Nehmen Sie Robert93 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » String aus anderer Klasse