www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenJavaAufgabe zum Thema Softwaretest
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Java" - Aufgabe zum Thema Softwaretest
Aufgabe zum Thema Softwaretest < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Aufgabe zum Thema Softwaretest: Java-Aufgabe zum Thema Testen
Status: (Frage) beantwortet Status 
Datum: 19:44 Do 03.04.2008
Autor: RalU

Aufgabe
Hallo! Es geht um folgende Aufgabe:

Es soll eine Java-Methode mit 3 Argumenten entwickelt werden. Diese 3 Elemente stehen für die Seiten eines Dreiecks. Die Methode soll klären, ob es sich um ein schleichschenkliges, gleichseitiges, ungleichseitiges Dreieck handelt (gillt für zulässige Eingaben).
Es sollen mit Ausnahmen folgende Fehlersituationen agefangen werden:
Ausnahme "ungültiger Wert", wenn gilt:
Mindestens ein Argument ist
- kleiner oder gleich 0 oder
- nicht vorhanden oder
- nicht ganzzahlig oder
- größer als das systembedingte Maximum
Weiterhin soll eine Exception "Kein Dreieck" geworfen werden, wenn gilt:
Die Argumente erfüllen die Dreiecksungleichung nicht, also
a+b<=c oder b+c<=a oder a+ c<=b

Meine Frage ist nun Folgende: Auf Grund der relativ schwierigen Möglichkeit, mittels Tastatur (Buffered Reader, InputStreamReader, etc) Eingaben in Java vorzunehmen, weiß ich nicht genau, wie man vorgeht, um sagen zu können: "Es wurde der und der Datentyp eingegeben!" Denn dann könnte man ja oben genannte Ausnahme auslösen...
Viel besser ist es doch, wenn man von anfang an klarstellt, welche Datentypen eingegeben werden sollen und welche nicht. Aber dann kann die Aufgabe nicht gelöst werden, weil in diesem Fall ja dann keine Ausnahme auftritt.
Weiterhin bin ich ratlos, wie ich es denn anstellen soll, um einen Parameter "nicht einzugeben" innerhalb der Tastatureingabe. Denn solange nichts eingegeben wird, steht das Programm ja und wartet eben auf eine Eingabe...
Aber es soll ja eine Exception ausgelöst werden, wenn ein Parameter nicht eingegeben wurde...

Hat jemand eine Idee, wie ich an diese Aufgabe und vor allem an die oben genannten Fehlersituationen und Exceptions besser herangehen kann? Die Syntax von Java, Exceptions-Handling, etc. dürfte mir bekannt sein.




        
Bezug
Aufgabe zum Thema Softwaretest: Inputs
Status: (Antwort) fertig Status 
Datum: 21:02 Do 03.04.2008
Autor: Infinit

Hallo,
die Übergabe der eingelesenen Werte an die Methode geschieht ja über die Parameterliste der Methode. Dort wird ja auch der Typ angegeben und somit kannst Du in der Methode die gewünschten Checks durchführen und Exceptions auslösen.
Was nun den Fall eines fehlenden Inputs anbelangt, dieser bedeutet ja nur, dass keine Eingabe stattfindet, aber im Konsolenprogramm ist dies gleichbedeutend mit einem "Return". Beim Einlesen mit "in.Readline()" wird dieses Return aus dem Eingabepuffer automatisch entfernt und damit auch nicht an die Methode weitergereicht.
Viel Erfolg,
Infinit

Bezug
                
Bezug
Aufgabe zum Thema Softwaretest: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:29 Fr 04.04.2008
Autor: RalU

Aufgabe
Ok, ich weiß nicht, ob ich so ganz verstanden habe, was du meinst mit "alle gewünschten Checks innerhalb der Methode durchführen".

Angenommen, ich habe folgende Programmstruktur:
public Class Triangle{
...
public static void main(String args[])
{
/*
hier will muss ich ja irgendwie meine Eingaben für die
3 Parameter (a,b,c) vom Benutzer anfordern,
befor ich dann den Aufruf

withTriangle(a,b,c)

durchführe

Also kommt es doch schon vor dem Aufruf der Methode
an dieser Stelle zu den möglichen Fehlersituationen
und ich muss HIER meine Exceptions werfen
und nicht erst in der Methode withTriangle(a,b,c) selbst
*/
}
}

Nur mal als Beispiel angenommen, ich lese einen Parameter zu wenig ein, was ja einem Return auf Konsolenebene gleichkommt, dann kann ich die Methode withTriangle(a,b,c)
erst gar nicht aufrufen, also kann ich auch nicht innerhalb der Methtode withTriangle(a,b,c) auf diese Ausnahme reagieren...

Naja, also, vielleicht kannst du mir noch ein paar Tipps geben???

Vielen Dank für die Hilfe...
Gruß, Ralf

Bezug
                        
Bezug
Aufgabe zum Thema Softwaretest: Besser in Main
Status: (Antwort) fertig Status 
Datum: 14:47 Sa 05.04.2008
Autor: Infinit

Hallo Ralf,
ich gebe Dir recht, dass bei Deinem Beispiel der Check vor Aufruf der Methode sicher sinnvoller ist, da nicht unbedingt alle Parameter zur Verfügung stehen. Das Ganze wird in eine try{}....catch{}-Umgebung eingepackt und damit müssten die Ausnahmen handhabbar werden.
Viele Grüße,
Infinit

Bezug
        
Bezug
Aufgabe zum Thema Softwaretest: Antwort
Status: (Antwort) fertig Status 
Datum: 13:54 Fr 04.04.2008
Autor: bazzzty


> Hallo! Es geht um folgende Aufgabe:
>  
> Es soll eine Java-Methode mit 3 Argumenten entwickelt
> werden. Diese 3 Elemente stehen für die Seiten eines
> Dreiecks. Die Methode soll klären, ob es sich um ein
> schleichschenkliges, gleichseitiges, ungleichseitiges
> Dreieck handelt (gillt für zulässige Eingaben).
>  Es sollen mit Ausnahmen folgende Fehlersituationen
> agefangen werden:
>  Ausnahme "ungültiger Wert", wenn gilt:
>  Mindestens ein Argument ist
>  - kleiner oder gleich 0 oder
>  - nicht vorhanden oder
>  - nicht ganzzahlig oder
>  - größer als das systembedingte Maximum
>  Weiterhin soll eine Exception "Kein Dreieck" geworfen
> werden, wenn gilt:
>  Die Argumente erfüllen die Dreiecksungleichung nicht,
> also
>  a+b<=c oder b+c<=a oder a+ c<=b
>  
> Meine Frage ist nun Folgende: Auf Grund der relativ
> schwierigen Möglichkeit, mittels Tastatur (Buffered Reader,
> InputStreamReader, etc) Eingaben in Java vorzunehmen, weiß
> ich nicht genau, wie man vorgeht, um sagen zu können: "Es
> wurde der und der Datentyp eingegeben!" Denn dann könnte
> man ja oben genannte Ausnahme auslösen...

Wenn die Aufgabe ist, eine Methode zu schreiben, die auf bestimmte Eingaben mit Exceptions reagiert, dann ist mir nicht klar, warum man überhaupt Tastatureingaben braucht. Die Aufage ist doch nicht, ein Programm zu schreiben, was man ausführen kann, sondern eine Methode.

Was spricht denn dagegen, einfach diese Methode zu schreiben und fertig?
Wenn Du die Methode testen willst, dann eben per JUnit-Tests oder ähnlichem.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]