Anfänger braucht Hilfe bei Hausübung! Sprachauswahl? Wie?

wiesner95

Mitglied
Hallo liebes Forum,

Ich bin 15 jahre alt und lerne in der Schule seit einigen Monaten mit Java zu Programmieren.
Ich habe ein Programm geschrieben welches eine Zufallszahl generiert und der Benutzer soll jene erraten.
Das Programm soll ich dann im DOS-Fenster ablaufen lassen.
Als zusatz muss ich noch eine Sprachauswahl einbauen die in etwa so aussehen soll: Der User wird gefragt ob das folgende Programm in Deutsch oder in Englisch ablaufen soll.
Der Code für mein Programm liegt im Thema bei.
Da ich erst seit wenigen Monaten mit Java zu tun habe ist es sicher nicht die eleganteste Lösung für meine Hausübung, aber mir liegen nur diese Befehle vor welche ich in dem Programm benutzt habe.

Meine Bitte wäre nun: Wie mache ich hier eine Sprachauswahl?

Das ganze sollte so ablaufen: Der PC fragt den User in welcher Sprahce (Deutsch oder Englisch) das Programm laufen soll, danach gibt der User je nachdem "english" oder "german" ein und das Programm Startet je nachdem.

Da mein jetztiger Code sicher nicht der beste ist, könnt ihr mir auch gerne Vorschläge machen wie ich das ganze etwas schlichter halten könnte bzw verbessern könnte.

Achja, bitte lacht nicht über meine jemmerlichen Kenntnisse!

Java:
import java.util.*;
public class Zufallszahl{
       public static void main(String[] args){
          Scanner sb=new Scanner(System.in);
          System.out.println("Zufallszahlen-Generator - Erraten sie die generierte Zahl!");
          System.out.println("                    Viel Spaß!");
          System.out.println();
          do{

            int max=100;
            int zufallszahl=(int)(Math.random()*max+1);
            for(int a=2; a>-1; a--){
                    System.out.println();
                    System.out.print("Bitte geben Sie eine Zahl von 1 bis 100 ein: ");

                    Scanner sc= new Scanner(System.in);
                    int x=sc.nextInt();

                    if(x<zufallszahl){
                      System.out.println();
                      System.out.println("Die Zahl " + x + " ist kleiner als die gesuchte Zahl!");
                           if(a==0){
                                    System.out.println("Sie haben Keine Versuche mehr frei!");
                                    System.out.println();
                                    System.out.println();
                           }
                           else{
                                System.out.print("Sie haben noch " +  a + " Versuche offen!");
                                System.out.println();
                                System.out.println();
                           }
                    }
                    else{
                      if(x>zufallszahl){
                      System.out.println();
                          System.out.println("Die Zahl " + x + " ist größer als die gesuchte Zahl!");
                                    if(a==0){
                                             System.out.println("Sie haben Keine Versuche mehr frei!");
                                             System.out.println();
                                             System.out.println();
                                    }
                                    else{
                                         System.out.print("Sie haben noch " +  a + " Versuche offen!");
                                         System.out.println();
                                         System.out.println();
                                    }
                      }
                      else{
                          System.out.println();
                          System.out.println("Die gesuchte Zahl stimmt mit der eingegebnen überein!");
                                      if(a==0){
                                               System.out.println("Herzlichen Glückwunsch");
                                               System.out.println();
                                               System.out.println();
                                      }
                                      else{
                                           System.out.print("Sie haben noch " +  a + " Versuche offen!");
                                           System.out.println();
                                           System.out.println();
                                      }
                      }
                    }
            }
            System.out.println();
            System.out.println("Die gesuchte Zahl war " + zufallszahl + "!");
            System.out.println();
            System.out.println();
            System.out.print("Wollen sie nochmals (ja/nein)?: ");
            }while( ( sb.next()).equals("ja"));
            System.out.println();
            System.out.println();
            System.out.println("                  Danke, dass sie Wiesner-Systems benutzt haben!");

       }
}

Ich bitte um einfach zu verstehende Antworten!
Danke!

mit hoffnung auf baldige Antwort
wiesner95
 

Fitzi21

Aktives Mitglied
Hey,

Dies ist dann eigentlich der einfachste Teil was da noch kommt.

Du baust einfach noch einen weiteren if ein.
Du frägst zuerst wieder welche Sprache gewählt werden soll. Dann spreicherst du die Tastatureingabe in einer Variablen, z.B. mSprache

Java:
System.out.println("Englisch oder Deutsch ?");
String mSprache = next();

if(mSprache.equals("Englisch")
{
      // unter der Voraussetzung, dass dein bisheriges Programm läuft, einfach den Code nehmen und die jeweilige Konsolenausgabe abändern, indem du den Englischen Text nutzt
}
else
{
     // Dein Alter Code
}

Gruß Fitzi
 
Zuletzt bearbeitet:

jgh

Top Contributor
Mal abgesehen davon, dass man die Sprachwahl nicht so programmiert...und hunderter anderer Fehler die gegen den guten Programmierstil verstossen...wäre das auf alle Fälle eine Möglichkeit, deinen Wunsch zu entsprechen.

Du definierst eine boolsche Variabel, die entweder wahr (deutsch), oder falsch(englisch) ist.
Nach der Wahl der Eingabe, musst du halt jede [c]System.out.println("...");[/c] mit einer Prüfung belegen, ob die Ausgabe in Deutsch, oder in Englisch erfolgen soll.

So könnte man das machen...aber das ist alles andere als richtig und gut und hat nichts, aber auch garnichts mit OO zu tun!!!

Java:
public class Zufallszahl {
	public static void main(String[] args) {
		boolean sprache = true;
		Scanner sb = new Scanner(System.in);
		
		System.out.println("Wählen Sie Ihre Sprache: (deutsch oder englisch)");
		System.out.println("Choose your language:(german or english)");
		
		String auswahlSprache = sb.next();
// hier überprüft er halt die eingabe und ignoriert groß- und kleinschreibung
		if (auswahlSprache.equalsIgnoreCase("englisch")
				|| auswahlSprache.equalsIgnoreCase("english")
				|| auswahlSprache.equalsIgnoreCase("e")) {

			sprache = false;

		}

		System.out.println("");

		if (sprache) {
			System.out
					.println("Zufallszahlen-Generator - Erraten sie die generierte Zahl!");
			System.out.println("                    Viel Spaß!");
		} else {
			System.out
					.println("Random number-Generator - guess the generated number");
			System.out.println("                    Have Fun!");
		}

...
 

timbeau

Gesperrter Benutzer
Java:
package javaforum;

import java.util.*;

public class Zufallszahl {

	public static void main(String[] args) {
		Scanner sb = new Scanner(System.in);

		System.out
				.println("Zufallszahlen-Generator - Erraten sie die generierte Zahl!");
		System.out.println("\t\tViel Spaß!\n");

		do {

			int max = 100;
			int zufallszahl = (int) (Math.random() * max + 1);
			for (int a = 20; a >= 0; a--) {
				System.out
						.print("\nBitte geben Sie eine Zahl von 1 bis 100 ein: ");

				Scanner sc = new Scanner(System.in);
				int x = sc.nextInt();

				if (x < zufallszahl) {
					System.out.println("\nDie Zahl " + x
							+ " ist kleiner als die gesuchte Zahl!");
				} else if (x > zufallszahl) {
					System.out.println("\nDie Zahl " + x
							+ " ist größer als die gesuchte Zahl!");
				} else {
					System.out
							.println("\nDie gesuchte Zahl stimmt mit der eingegebenen überein!");
					break;
				}
				if (a == 0) {
					System.out
							.println("\nSie haben keine Versuche mehr frei!");
				} else {
					System.out.print("\nSie haben noch " + a
							+ " Versuche offen!");
				}
			}

			System.out.println("Die gesuchte Zahl war " + zufallszahl + "!");
			System.out.println();
			System.out.println();
			System.out.print("Wollen sie nochmals (ja/nein)?: ");
		} while ((sb.next()).equals("ja"));
		System.out.println();
		System.out.println();
		System.out
				.println("                  Danke, dass sie Wiesner-Systems benutzt haben!");

	}
}

Zuerst mal bisschen über deinen Code gegangen.

Was du machen könntest wäre 2 HashMaps zu nehmen z.B.
Java:
HashMap<String, String> deutsch = new HashMap<String, String>();
HashMap<String, String> englisch = new HashMap<String, String>();

deutsch.put("start", "Zufallszahlen-Generator - Erraten sie die generierte Zahl!");
englisch.put("start", "Random number-Generator - guess the generated number");

/*
* Sprachabfrage:
*/

boolean sprachwahl = checkLanguage();
		
		HashMap<String, String> used;
		if(sprachwahl){
			used = deutsch;
		}
		else {
			used = englisch;
		}

System.out.println(used.get("start"));

// ergibt dann den hinterlegten String der entsprechenden Map
 

wiesner95

Mitglied
Hey,

Dies ist dann eigentlich der einfachste Teil was da noch kommt.

Du baust einfach noch einen weiteren if ein.
Du frägst zuerst wieder welche Sprache gewählt werden soll. Dann spreicherst du die Tastatureingabe in einer Variablen, z.B. mSprache

Java:
System.out.println("Englisch oder Deutsch ?");
String mSprache = next();

if(mSprache.equals("Englisch")
{
      // unter der Voraussetzung, dass dein bisheriges Programm läuft, einfach den Code nehmen und die jeweilige Konsolenausgabe abändern, indem du den Englischen Text nutzt
}
else
{
     // Dein Alter Code
}

Gruß Fitzi

Also ich habe das so probiert jeddoch zeigt er mir einen Fehler an bei

Java:
String mSprache = next();

er zeigt mir das next an ?
ne idee weshalb ?
 

XHelp

Top Contributor
Du definierst eine boolsche Variabel, die entweder wahr (deutsch), oder falsch(englisch) ist.

Und wenn da später eine 3. dazu kommen soll? Außerdem ist der Variablenname
Code:
sprache
nichtssagend. Wenn, dann sowas wie
Code:
deutsch
,
Code:
deutschEingestellt
oder was auch immer

jeddoch zeigt er mir einen Fehler an bei
...
er zeigt mir das next an ?

Und du meinst nicht, dass die Fehlermeldung interessant für die Lösung sein könnte?
Aber schau dir das Beispiel von oben noch mal genau an. Da steht nicht nur next, sondern noch etwas davor...
 
Zuletzt bearbeitet:

timbeau

Gesperrter Benutzer
Und wenn da später eine 3. dazu kommen soll? Außerdem ist der Variablenname
Code:
sprache
nichtssagend. Wenn, dann sowas wie
Code:
deutsch
,
Code:
deutschEingestellt
oder was auch immer

keep it simple

Das der name crap ist, gebe ich zu. aber ist ja nur ne anregung gewesen.
 

Andi_CH

Top Contributor
Das lässt sich nochmals massiv vereinfachen.

Der Zugriff auf die Strings (siehe get) geht ohne Fallunterscheidung ...
Eine Sprache mehr, hat keinen Einfluss auf die Businesslogik ...

Java:
import java.util.*;

public class Test3 {
	private static HashMap<String, String> deutschStrings = new HashMap<String, String>();
	private static HashMap<String, String> englischStrings = new HashMap<String, String>();
	private static HashMap<String, String> franzoesischStrings = new HashMap<String, String>();

	private static HashMap<String, String> aktuelleSprache = deutschStrings;
	
	public static final String deutsch      = "deutsch";
	public static final String franzoesisch = "franzoesisch";
	public static final String englisch     = "englisch";
	// Keys
	public static final String hallo = "hallo";
	public static final String welt = "welt";
	
	public static void init() {
		deutschStrings.put(hallo, "Hallo");
		englischStrings.put(hallo, "hello");
		franzoesischStrings.put(hallo, "Salue");
		deutschStrings.put(welt, "Welt");
		englischStrings.put(welt, "world");
		franzoesischStrings.put(welt, "monde");
	}

	public static String get(String pKey) {
		return aktuelleSprache.get(pKey);
	}

	public static void helloWorld() {
		System.out.println(get(hallo) + " " + get(welt));
	}
	
	public static void setLanguage(String pLang) {
		if (englisch.equals(pLang)) {
			aktuelleSprache = englischStrings;
		} else if (franzoesisch.equals(pLang)) {
			aktuelleSprache = franzoesischStrings;
		} else {
			aktuelleSprache = deutschStrings;
		}
	}
	public static void main(String[] args) {
		init();
		helloWorld();
		setLanguage(englisch);
		helloWorld();
		setLanguage(franzoesisch);
		helloWorld();
		setLanguage(deutsch);
		helloWorld();
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
L Klassen Anfänger braucht Hilfe! Probleme mit Javakara.jar Java Basics - Anfänger-Themen 25
D Anfänger braucht Hilfe:Interface Java Basics - Anfänger-Themen 14
X Anfänger braucht hilfe! Java Basics - Anfänger-Themen 4
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
S Blutiger Java Anfänger braucht dringend Hilfe Java Basics - Anfänger-Themen 4
E Anfänger braucht Hilfe Java Basics - Anfänger-Themen 6
T Vokabelbuch programmieren - Anfänger braucht Hilfe! Java Basics - Anfänger-Themen 17
J blutiger Anfänger braucht Hilfe ^^ Java Basics - Anfänger-Themen 3
M Erste Schritte Anfänger braucht Denkanstoß für Schulprojekt Java Basics - Anfänger-Themen 21
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
H Methoden Bluej Anfänger Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Anfänger-Problem mit dem HalloWelt-Programm Java Basics - Anfänger-Themen 5
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
J Anfänger hat Problem mit seinen Beet Java Basics - Anfänger-Themen 12
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
N Anfänger Problem Java Basics - Anfänger-Themen 4
GoodGuy [Anfänger] Kann mal wer drüber gucken? Java Basics - Anfänger-Themen 3
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
C Taxiwarteschlange - Anfänger Java Basics - Anfänger-Themen 2
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
I Java, Application, Eclipse (Anfänger) Java Basics - Anfänger-Themen 1
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
C Anfänger: Array + Klasse Java Basics - Anfänger-Themen 5
S OOP Uhrenanzeige programmieren, Achtung Anfänger! Java Basics - Anfänger-Themen 9
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
I Erste Schritte Bücher für Jungedliche[Anfänger] Java Basics - Anfänger-Themen 20
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
D error: Class names, >>>HILFE, anfänger<<< Java Basics - Anfänger-Themen 4
J Hilfe für Anfänger Java Basics - Anfänger-Themen 8
E OOP Methode an andere Methode übergeben / OOP Anfänger Java Basics - Anfänger-Themen 4
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
H MergeSort (für Anfänger ) Java Basics - Anfänger-Themen 9
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4
A Erste Schritte Übungen für Anfänger Java Basics - Anfänger-Themen 31
M Sieb des Eratosthenes für Anfänger Java Basics - Anfänger-Themen 10
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
G Anfänger-Errors und Fragen Java Basics - Anfänger-Themen 22
S Java für Anfänger: Probleme mit read() Java Basics - Anfänger-Themen 20
P [Anfänger] DiceGame Aufagbe Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben