Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   Wer kann mir bei dieses Aufgabe helfen? (https://www.tweakpc.de/forum/programmiersprachen/19374-wer-kann-mir-bei-aufgabe-helfen.html)

Gast 14.10.2004 08:36

Wer kann mir bei dieses Aufgabe helfen?
 
Hallo Leute, ich bin in der Ausbildung. Und habe eine Aufgabe bekommen, die ich lösen soll, ohne Kenntnisse zu haben. Ich habe ein Buch bekommen "Java ist auch eine Insel". Ist eigentlich nichts für Anfänger, die noch nie Programmiert haben. Ärgerlich.

Also :

Bitte schreibe drei Funktionen, die die eine Zeichenkette von der Tastatur einlesen.

Funktion 1 - Funktion zum einlesen von einer GANZEN ZAHLEN
Der gewünschte Eingabewert muss über ein Übergabeparameter an die Funktion als TEXT beschrieben werden können. Dieser TEXT muss dem Bediener angezeigt werden.
Die Funktion gibt immer eine GANZE ZAHL als Rückgabewert zurück.
Sollte keine GANZE ZAHL eingegeben werden soll die Abfrage innerhalb der Funktion wiederholt werden, mit eine Ausgabe einer Fehlermeldung:
"Ihre Eingabe wurde als ungültig erkannt, bitte wiederholen !"

Funktion 2 - Funktion zum einlesen von einer FLIESSKOMMA ZAHLEN
Der gewünschte Eingabewert muss über ein Übergabeparameter an die Funktion als TEXT beschrieben werden können. Dieser TEXT muss dem Bediener angezeigt werden.
Die Funktion gibt immer eine FLIESSKOMMA ZAHLEN als Rückgabewert zurück.
Sollte keine FLIESSKOMMA ZAHLEN eingegeben werden soll die Abfrage innerhalb der Funktion wiederholt werden, mit eine Ausgabe einer Fehlermeldung:
"Ihre Eingabe wurde als ungültig erkannt, bitte wiederholen !"

Funktion 3 - Funktion zum einlesen von einer ZEICHENKETTE (+, -, *, /)
Der gewünschte Eingabewert muss über ein Übergabeparameter an die Funktion als TEXT beschrieben werden können. Dieser TEXT muss dem Bediener angezeigt werden.
Die Funktion gibt immer eine ZEICHENKETTE als Rückgabewert zurück.
Sollte die eingegebene ZEICHENKETTE nicht "+" oder "-" oder "*" oder "/" sein soll die Abfrage innerhalb der Funktion wiederholt werden, mit eine Ausgabe einer Fehlermeldung:
"Ihre Eingabe wurde als ungültig erkannt, bitte wiederholen !"

Innerhalb der Hauptfunktion soll dann folgende Logik abgebildet werden:
Einlesen einer GANZEN ZAHL
Einlesen einer FLIESSKOMMA ZAHL
Einlesen einer ZEICHENKETTE (+, -, *, /)
Anhand der Zeichenkette soll danach die korrekte mathematische Funktion ausgeführt werden mit der Ausgabe des Ergebnisses.
z.B. 2 + 5.7 = 7.7 oder 1*2.0 = 2.0 usw.

Der Sourcecode sollte über die JAVADOC Kommentare verfügen und auch die wichtigen Programmteile sollten über Kommtenare erklärt werden.
Der Sourcecode sollte gut lesbar sein, so daß Du uns den nach der Fertigstellung auch erläutern kannst.

Kann mir da jemand helfen?

redfalcon 14.10.2004 12:29

Hi,
ganz verstehe ich die Aufgabenstellung nicht. Soll da einfach ne Zahl eingegeben werden, und wenns keine ganze Zahl ist, soll ne Fehlermeldung kommen oder wie?

BomberD 14.10.2004 12:34

die einleseoperation umbibst du mit nem try und catch.

wenn du versuchst in eine integer variable nen float reinzuschreiben gibts ne exception. die kannste abfangen. und dann dort ne fehlermeldung ausgeben.

das try kommt um die anweisung(en) die fehler verursachen können das catch dahinter.

versuchs mal auf diese weise..

tele 14.10.2004 18:56

du hast schon gelesen, dass der NULL erfahrung mit proggen hat, oder?

da ist mit exception handling anzufangen n bissel vorschnell

vorher sollte man

- basic proggies machen (hallo welt, kleine addition mit fixen werten)
- mit InputStream beschäftigen, eventuell nach alternativen fragen
- daran verknüpft Exception Handling studieren

BomberD 14.10.2004 19:00

upsi ;)
hatte ich überlesen. hab mich auf die aufgaben konzentriert.

Gast 15.10.2004 09:28

Naja, erstmal Danke. Kann leider wenig mit anfangen.

Um ehrlich zu sein ist es so, dass ich diesen Job verlieren werde.

Die Perso hat 3 Azubis eingestellt. Nun sieht es so aus, dass man mich auf dieser Etage nicht haben möchte. Die hatte noch nie einen Azubi und wollen es nicht, dass haben Sie auch gesagt.

Mir sogar Persönlich.

Nun weiter : Ich kann nächstes Jahr wechseln in Sysintrg. und muss dafür diese Jahr überstehen, damit ich direkt ein Jahr weniger machen kann, so die Firma. Muss also bis Dezember durchalten, dann komm ich hier auch nicht weg. Schule stehe ich gut. Nur hier hilft mir leider keiner. Ist ja klar, wenn man einen nicht will. Und gelogt wird das bestimmt auch.

_Smash_ 16.10.2004 13:16

wo liegen denn da deine probleme?
ohne konkrete probleme ist halt das einzige, was man machen könnte das zu programmieren und es daran zu erklären.

Gast 18.10.2004 08:38

Mein Problem ist folgendes.

Ich schreibe erst mal den code

[code]import java.io.*;
/**
Freewalker

@author Freewalker :) NoNachname
@date Fr Okt 15 16:46:08 CEST 2004

*/
public class Freewalker
{
/** tastatur ist außerhalb der Methoden deklariert, um von allen lesenden Methoden verwendet werden zu können,
und static, da wir in main darauf zugreifen wollen.
*/
static BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in));

/**

*/
static void standardFehler ()
{
// 'Ihre Eingabe war ungültig' wäre besser
System.out.println ("Ihre Eingabe wurde als ungültig erkannt, bitte wiederholen !");
}

/** */
static long getGanzZahl (String beschreibung)
{
System.out.println (beschreibung);
long longzahl = 0;

while (true)
{
try
{
longzahl = Long.parseLong (tastatur.readLine());
return longzahl;
}
catch (NumberFormatException e)
{
standardFehler ();
}
catch (IOException ioe)
{
ioe.printStackTrace ();
System.exit (1);
}
}
}

/** */
static double getDoubleZahl (String beschreibung)
{
System.out.println (beschreibung);
double dbl = 0;

while (true)
{
try
{
dbl = Double.parseDouble (tastatur.readLine());
return dbl;
}
catch (NumberFormatException e)
{
standardFehler ();
}
catch (IOException ioe)
{
ioe.printStackTrace ();
System.exit (2);
}
}
}

/**
Funktion zum einlesen von einer ZEICHENKETTE (+, -, *, /).
Der gewünschte Eingabewert wird über den Parameter beschrieben.
Dieser TEXT wird dem Bediener angezeigt.
Die Funktion gibt immer eine ZEICHENKETTE zurück.
Sollte die eingegebene ZEICHENKETTE nicht "+" oder "-" oder "*" oder "/" sein,
so wird die Abfrage mit einer Fehlermeldung wiederholt.

@param beschreibung wird auf System.out ausgegeben.
@return String bestehend aus einem Zeichen aus der Menge [+-/*].
*/
static String getOperator (String beschreibung)
{
System.out.println (beschreibung);
long longzahl = 0;

while (true)
{
String in = null;
try
{
in = tastatur.readLine();
}
catch (IOException ioe)
{
ioe.printStackTrace ();
System.exit (3);
}
if (in.matches ("[\\*/\\+-]")) return in;
else standardFehler ();
}
}

/** */
public static void main (String args[])
{
new Freewalker ();
long ganzZahl = getGanzZahl ("Haben Sie ein int für mich?");
double fliesskommaZahl = getDoubleZahl ("Geben Sie einen Double ein?");
String operator = getOperator ("Welche Rechenoperation darf es sein: [+-*/]");
char op = operator.charAt (0);
double erg = 0.0;
switch (op)
{
case '+': erg = ganzZahl + fliesskommaZahl; break;
case '-': erg = ganzZahl - fliesskommaZahl; break;
case '*': erg = ganzZahl * fliesskommaZahl; break;
case '/': erg = ganzZahl / fliesskommaZahl; break;
}
System.out.println ("" + ganzZahl + " " + operator + " " + fliesskommaZahl + " = " + erg);
}
}[/code]

Und habe ein Fehler und weiss nicht warum?

symbol : method matches (java.lang.String)
location: class java.lang.String
if (in.matches ("[\\*/\\+-]")) return in;
^
1 error


Habt Ihr eine Idee?

predi 18.10.2004 09:10

kannst denn net mit c++ anfangen ??? :lol:

bin auch in ausbildung un da kann ich dir vll bissel helfen ... aber mit java hab ich net soo viel ahnung ... noch nicht :wink:

redfalcon 18.10.2004 09:57

Sorry bei mir geht das Programm.

Christian Zimmer 18.10.2004 10:07

Bei mir auch, aber erst ab SDK 1.4.x

Hast bestimmt eine älterte drauf!!!!

vcmob 18.10.2004 10:14

Hi.
würde dir erstmal empfehlen dich mit der ganzen Programmiererei vertraut zu machen. Also wie schon vorgeschlagen wurde sich mit einfachen Hellow World Anwendungen an die Sache heranzutasten. Programmieren lernen ist ein langer Prozess.

Einfach mal nach Tutorial Java bei Google suchen. Bringt dir vielleicht mehr fürs Leben als sich seine Probleme lösen zu lassen. Ansonsten finde ich es auch bissel schwach sich für nen Beruf zu bewerben und noch net mal die geringsten Vorkenntnisse zu haben. (oder beim Einstellungsgespräch geflunkert ??)

Ciao MoB

Gast 18.10.2004 11:30

ICh habe mich als Systemint. beworben. Aber man wollte mich als Fachinformatiker haben. Der Grund. Man möchte jemanden der beides kann. 5 Jahre als Sysintg. gearbeitet. Deswegen ist die Kritik unangebracht!!!

vcmob 18.10.2004 11:53

Hi.
Ist dann aber auch bissel *******e wenn die dann einfach so Programmierkenntnisse vorraussetzen.
Ich sag mal so 1-2 Wochen Einarbeitungszeit in was Neues sollte man dir dann doch gönnen.
Versuch wirklich erstmal wie schon vorgeschlagen wurde nen paar kleine Beispielprogramme zu schreiben um dich an die abläufe zu gewöhnen.

Nen vernünftiges Gespräch mit deinem Vorgesetzten ist wohl auch nicht möglich ???
Ciao MoB

tele 18.10.2004 13:20

will ja nix sagen - aber dieser javacode sieht grausam prozedural aus *autsch*

wasn fürn sdk bei dir drauf?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.