www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de