moin leute hab ein kleines aber pikantes problem

Status
Nicht offen für weitere Antworten.

tigger21

Mitglied
Es soll eine Tastaturabfrage zur Programmsteuerung programiert werden.
Es sollen folgende Meldungen auf dem Bildschrim ausgegeben werden:
Konsolenanwendung

"r" eingeben "Rot" ausgeben
"g" eingeben "Grün" ausgeben
"b" eingeben "Blau" ausgeben
"s" eingeben "Schwarz" ausgeben
"w" eingeben "Weiß" ausgeben
"sonst" eingeben "Fehler" ausgeben

D.h. wenn ein Benutzer eine Taste der Tastatur betätigt, wird eine dem obigen Schema entsprechende
Meldung auf den Bildschrim ausgegeben. Programmieren Sie eine aussagekräftige Benutzerführung und
ralisieren Sie die Abfrage mit if-Anweisungen. Das Programm soll groß und klein schreibung ignorieren.
(r und R liefert Rot)

Und ein weiteres kleines Programm in der Konsole:

Schreiben Sie ein Programm, welches Ergebnis den kleinem Einmaleins ausgibt.
Der Benutzer gibt einen Faktor ein und das Programm berechnet die Multiplikation mit den Zahlen
von 1 bis 10. Werwenden Sie die For-Schleife.

Beispiel für 7

1*7=7
2*7=14
...
10*7=70
usw.

Wie zum teufel geht das ?
Schon mal vielen dank im vorraus.
 
Wir machen keine Hausaufgaben!!

Hast du irgendwelche Lösungsvorschläge??

Ansonsten such mal "tastatur einlesen" für die Eingabe

und for schleife kannst auch suchen, damit du mal die Syntax weißt!
 
Code:
import java.io.*;

public class Tastatureingabe  // Klassen definition
{  
    public static void main (String[] args)
    //throws IOException
{
        BufferedReader Eingabe = new BufferedReader(new InputStreamReader(System.in));
        String r;
        String g;
        String b;
        String s;
        String w;

in der Ausgabe hängt es am meisten.

dann würd ich try und catch machen
 
tigger21 hat gesagt.:
Code:
import java.io.*;

public class Tastatureingabe  // Klassen definition
{  
    public static void main (String[] args)
    //throws IOException
{
        BufferedReader Eingabe = new BufferedReader(new InputStreamReader(System.in));
        String r;
        String g;
        String b;
        String s;
        String w;

in der Ausgabe hängt es am meisten.

dann würd ich try und catch machen

Hast Du schon einen Ansatz für das Einlesen? Wo für brauchst Du den try-catch-Block?? Wozu dienen in deinem Ansatz die ganzen Strings???
 
try catch fals eine eingabe anders ist als die Strings soll das Programm ja nen fehler ausgeben.
Muss ich dem Programm nicht sagen mit welchem datentyp es arbeiten muss ?
 
tigger21 hat gesagt.:
try catch fals eine eingabe anders ist als die Strings soll das Programm ja nen fehler ausgeben.
Ok, das ist schon der richtige Ansatz.

tigger21 hat gesagt.:
Muss ich dem Programm nicht sagen mit welchem datentyp es arbeiten muss ?
Doch. Meine Frage war aber nicht, warum Du das Wort "String" im Quelltext benutzt, sondern welchen Zweck diese Vielzahl von Strings erfüllen sollen.
 
Java ist für mich föllig neu.
String halt Zeichen
eingabe von Zeichen oder nicht ?
Belehre mich eines besseren wenn es falsch ist.
 
sky meinte warum so viele....

du kannst doch einen String farbe z.b. nehmen und der bekommt einfach den String zugewiesen, der eingeben wird. danach kommt die Abfrage (mit equals !!! gleich vorneweg) welchen wert der String hat....

PS: BITTE nächstes mal einen besseren, aussagekräftigen Titel verwenden !!
 
Code:
import java.io.*;

public class Tastatureingabe  // Klassen definition
{  
    public static void main (String[] args)
    //throws IOException
{
        BufferedReader Eingabe = new BufferedReader(new InputStreamReader(System.in));
        String Eingabe;
        String Farbe;

Das leuchtet eine
wäre das sinvoller ? [/quote]
 
Code:
import java.io.*; 

public class Tastatureingabe  // Klassen definition 
{  
    public static void main (String[] args) 
    //throws IOException 
{ 
        BufferedReader Eingabe = new BufferedReader(new InputStreamReader(System.in)); 
        String Eingabe; 
        String Farbe;

nun würd 
try
 if-eingabe = r dann ausgabe rot

catch 
ausgabe fehler wenn nicht ,g,b,s,w

aber wie will java das von mir haben ?
 
import java.io.*;

public class Tastatureingabe // Klassen definition
{
public static void main (String[] args)
//throws IOException
{
BufferedReader Eingabe = new BufferedReader(new InputStreamReader(System.in));
String Eingabe;
String Farbe; <- Wozu soll der gut sein?

es reicht wenn du eingabe hast (klein schreiben wäre fein) und danach mit equals abfragst welchen Wert dieser String eingelesen hat ob halt r g usw. daran entscheidest du dann in welcher Farbe die Ausgabe gemacht werden soll. Such dir mal die Syntax für equals raus oder von mir auch auch switch und dann mach mal weiter.

Und im allgemeinen empfehle ich dir die Link section da gibts nen Link zu Java ist auch eine Insel. DA gibt es dann en Kapitel wo erklärt wird wie man mit Strings arbeitet und das lies dir bitte mal durch. Dann wird dir vieles klar.


Noch was: wenn du das so programmierst wie es da oben steht dann wird des nix. Weil der BufferedReader den gleichen Namen hat wie der String der darauf folgt.

Ich gebe dir hier mal eine Klasse die du nur Instanzieren musst und die dir die nötigen eingaben einliest und sie dir in Variablen Form wiedergibt damit du sihst wie das aussehen muss! du musst nur diese Klasse instanzieren und dann die methoden aufrufen. also :

Input io = new Input();

String eingabe = io.getString()

Code:
/*
 * Created on 16.12.2004
 *
 * To change the template for this generated file go to
 * Window&Preferences&Java&Code Generation&Code and Comments
 */

/**
 */
import java.io.*;


/**
 * DOCUMENT ME!
 *
 * @author Yash
 * @version AMGIS PG19224412
 */
public class Input
{

  private String eingabe;
  private double zahl;
  private int zahl2;
  private float zahl3;

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public double getDouble()
  {

    do
    {

      try
      {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        eingabe = br.readLine();
        zahl = Double.parseDouble(eingabe);
      }
      catch(Exception e)
      {
        System.out.print("Fehlerhafte Eingabe!Erneut :");
        eingabe = " ";
      }
    }
    while(eingabe == " ");

    return zahl;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public int getInt()
  {

    do
    {

      try
      {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        eingabe = br.readLine();
        zahl2 = Integer.parseInt(eingabe);
      }
      catch(Exception e)
      {
        System.out.print("Fehlerhafte Eingabe!Erneut :");
        eingabe = " ";
      }
    }
    while(eingabe == " ");

    return zahl2;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public float getFloat()
  {

    do
    {

      try
      {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        eingabe = br.readLine();
        zahl3 = Float.parseFloat(eingabe);
      }
      catch(Exception e)
      {
        System.out.print("Fehlerhafte Eingabe!Erneut :");
        eingabe = " ";
      }
    }
    while(eingabe == " ");

    return zahl3;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getString()
  {

    do
    {

      try
      {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        eingabe = br.readLine();
      }
      catch(Exception e)
      {
        System.out.print("Fehlerhafte Eingabe!Erneut :");
        eingabe = " ";
      }
    }
    while(eingabe == " ");

    return eingabe;
  }
}



Hoffe das hilft dir!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben