Hallo zusammen,
ich habe eine Konsolenanwendung geschrieben, die Probanden Fragen stellt und diese Ergebnisse später auswertet. Allerdings funktionieren zwei Punkte in der Methode zur Auswertung nicht:
- Bei der Überprüfung der Korrektheit bekomme ich IMMER 0% angegeben, auch wenn das richtige Ergebnisse gewählt wurde
- Beim Minimum der Zeitdauer steht IMMER 0ms...
Hier ist mein Code:
Danke für jede Hilfe!!
ich habe eine Konsolenanwendung geschrieben, die Probanden Fragen stellt und diese Ergebnisse später auswertet. Allerdings funktionieren zwei Punkte in der Methode zur Auswertung nicht:
- Bei der Überprüfung der Korrektheit bekomme ich IMMER 0% angegeben, auch wenn das richtige Ergebnisse gewählt wurde
- Beim Minimum der Zeitdauer steht IMMER 0ms...
Hier ist mein Code:
Java:
package lernsituation_4;
import java.io.*;
class PsyUntersuchung {
private int [][] ergeb= new int[100][5];
private long [][]zeit=new long[100][5];
public void menueWaehlen() throws IOException
{
int eingabeZahl;
BufferedReader lesen = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Psychologisches Institut II");
System.out.println("Teiluntersuchung: 5 Fragen");
System.out.println("<1> Neuen Versuch starten");
System.out.println("<2> Auswertung der Versuche");
System.out.println("<3> Ende");
System.out.println("Ihre Wahl: ?");
eingabeZahl = Integer.parseInt(lesen.readLine());
switch (eingabeZahl)
{
case 1: fragenStellen();break;
case 2: bogenAuswerten();break;
case 3: System.out.println("Dies ist das Ende des Programms. Vielen Dank!");break;
}
}
public void fragenStellen() throws IOException
{
int prob, antw;
System.out.println("Bitte Nummer eingeben: ");
BufferedReader lesen = new BufferedReader(new InputStreamReader(System.in));
prob= Integer.parseInt(lesen.readLine());
System.out.println("Programm starten.... Zum Start beliebige Taste druecken!");
String weiter = lesen.readLine();
System.out.println();System.out.println();
long startZeit=System.currentTimeMillis();
System.out.println("FRAGE 1: Thomas Mann schrieb welchen Roman?");
System.out.println("ANTWORT 1: Die Pest");
System.out.println("ANTWORT 2: Der Zauberberg"); //r
System.out.println("ANTWORT 3: Der Untertan");
System.out.println("Ihre Wahl: ?");
antw= Integer.parseInt(lesen.readLine());
if(antw==1||antw==2||antw==3)
{
ergeb[prob-1][0]=antw;
}
else {
System.out.println("Eingabe ist ungueltig! Bitte kontaktieren Sie den Versuchsleiter...");
weiter = lesen.readLine();
menueWaehlen();
}
long endZeit=System.currentTimeMillis();
zeit[prob-1][0]=endZeit-startZeit;
System.out.println();System.out.println();
startZeit=System.currentTimeMillis();
System.out.println("FRAGE 2: Napoleon wurde endgueltig besiegt in der Schlacht von?");
System.out.println("ANTWORT 1: Waterloo"); //r
System.out.println("ANTWORT 2: Marengo");
System.out.println("ANTWORT 3: Austerlitz");
System.out.println("Ihre Wahl: ?");
antw= Integer.parseInt(lesen.readLine());
if(antw==1||antw==2||antw==3)
{
ergeb[prob-1][1]=antw;
}
else {
System.out.println("Eingabe ist ungueltig! Bitte kontaktieren Sie den Versuchsleiter...");
weiter = lesen.readLine();
menueWaehlen();
}
endZeit=System.currentTimeMillis();
zeit[prob-1][1]=endZeit-startZeit;
System.out.println();System.out.println();
startZeit=System.currentTimeMillis();
System.out.println("FRAGE 3: Der Schall pflanzt sich in der Luft mit welcher Geschwindigkeit fort?");
System.out.println("ANTWORT 1: 33 km/h");
System.out.println("ANTWORT 2: 330 m/s"); //r
System.out.println("ANTWORT 3: 3300 m/s");
System.out.println("Ihre Wahl: ?");
antw= Integer.parseInt(lesen.readLine());
if(antw==1||antw==2||antw==3)
{
ergeb[prob-1][2]=antw;
}
else {
System.out.println("Eingabe ist ungueltig! Bitte kontaktieren Sie den Versuchsleiter...");
weiter = lesen.readLine();
menueWaehlen();
}
endZeit=System.currentTimeMillis();
zeit[prob-1][2]=endZeit-startZeit;
System.out.println();System.out.println();
startZeit=System.currentTimeMillis();
System.out.println("FRAGE 4: Welche Erfindung machte Thomas Alva Edison nicht?");
System.out.println("ANTWORT 1: Die Gluehlampe");
System.out.println("ANTWORT 2: Den Phonograph");
System.out.println("ANTWORT 3: Die Enigma"); //r
System.out.println("Ihre Wahl: ?");
antw= Integer.parseInt(lesen.readLine());
if(antw==1||antw==2||antw==3)
{
ergeb[prob-1][3]=antw;
}
else {
System.out.println("Eingabe ist ungueltig! Bitte kontaktieren Sie den Versuchsleiter...");
weiter = lesen.readLine();
menueWaehlen();
}
endZeit=System.currentTimeMillis();
zeit[prob-1][3]=endZeit-startZeit;
System.out.println();System.out.println();
startZeit=System.currentTimeMillis();
System.out.println("FRAGE 5: Welcher Architekt nannte sich Le Corbusier?");
System.out.println("ANTWORT 1: Charles-Édouard Jeanneret-Gris"); //r
System.out.println("ANTWORT 2: Frank Wright");
System.out.println("ANTWORT 3: Mies van der Rohe");
System.out.println("Ihre Wahl: ?");
antw= Integer.parseInt(lesen.readLine());
if(antw==1||antw==2||antw==3)
{
ergeb[prob-1][4]=antw;
}
else {
System.out.println("Eingabe ist ungueltig! Bitte kontaktieren Sie den Versuchsleiter...");
weiter = lesen.readLine();
menueWaehlen();
}
endZeit=System.currentTimeMillis();
zeit[prob-1][4]=endZeit-startZeit;
System.out.println();System.out.println();
System.out.println("Dies ist das Ende des Fragebogens! Vielen Dank fuer Ihre Teilnahme!");
System.out.println("Um fortzfahren bitte beliebige Taste druecken...");
weiter = lesen.readLine();
menueWaehlen();
}
public void bogenAuswerten() throws IOException
{
System.out.println("AUSWERTUNG DER ERGEBNISSE");
int temp=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][0]==2)
{
temp++;
}
}
int proz=temp/ergeb.length*100;
System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 1: "+proz+" %");
temp=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][1]==1)
{
temp++;
}
}
proz=temp/ergeb.length*100;
System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 2: "+proz+" %");
temp=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][2]==2)
{
temp++;
}
}
proz=temp/ergeb.length*100;
System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 3: "+proz+" %");
temp=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][3]==3)
{
temp++;
}
}
proz=temp/ergeb.length*100;
System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 4: "+proz+" %");
temp=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][4]==1)
{
temp++;
}
}
proz=temp/ergeb.length*100;
System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 5: "+proz+" %");
System.out.println();System.out.println();
long max=0;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][0]>max)
{
max=zeit[i][0];
}
}
System.out.println("Maximale Dauer der Beantwortung von Frage 1: "+max+" ms");
max=0;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][1]>max)
{
max=zeit[i][1];
}
}
System.out.println("Maximale Dauer der Beantwortung von Frage 2: "+max+" ms");
max=0;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][2]>max)
{
max=zeit[i][2];
}
}
System.out.println("Maximale Dauer der Beantwortung von Frage 3: "+max+" ms");
max=0;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][3]>max)
{
max=zeit[i][3];
}
}
System.out.println("Maximale Dauer der Beantwortung von Frage 4: "+max+" ms");
max=0;
for(int i=0; i<ergeb.length; i++)
{
if(ergeb[i][4]>max)
{
max=ergeb[i][4];
}
}
System.out.println("Maximale Dauer der Beantwortung von Frage 5: "+max+" ms");
System.out.println();System.out.println();
long min=max;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][0]<min)
{
min=zeit[i][0];
}
}
System.out.println("Geringste Dauer der Beantwortung von Frage 1: "+min+" ms");
min=max;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][1]<min)
{
min=zeit[i][1];
}
}
System.out.println("Geringste Dauer der Beantwortung von Frage 2: "+min+" ms");
min=max;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][2]<min)
{
min=zeit[i][2];
}
}
System.out.println("Geringste Dauer der Beantwortung von Frage 3: "+min+" ms");
min=max;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][3]<min)
{
min=zeit[i][3];
}
}
System.out.println("Geringste Dauer der Beantwortung von Frage 4: "+min+" ms");
min=max;
for(int i=0; i<zeit.length; i++)
{
if(zeit[i][4]<min)
{
min=zeit[i][4];
}
}
System.out.println("Geringste Dauer der Beantwortung von Frage 5: "+min+" ms");
System.out.println();System.out.println();
long addition=0;int i=0;
for(; i<zeit.length; i++)
{
addition=addition+zeit[i][0];
}
long durchs=addition/i;
System.out.println("Durchschnittliche Dauer der Beantwortung von Frage 1: "+durchs+" ms");
addition=0; i=0;
for(; i<zeit.length; i++)
{
addition=addition+zeit[i][1];
}
durchs=addition/i;
System.out.println("Durchschnittliche Dauer der Beantwortung von Frage 2: "+durchs+" ms");
addition=0; i=0;
for(; i<zeit.length; i++)
{
addition=addition+zeit[i][2];
}
durchs=addition/i;
System.out.println("Durchschnittliche Dauer der Beantwortung von Frage 3: "+durchs+" ms");
addition=0; i=0;
for(; i<zeit.length; i++)
{
addition=addition+zeit[i][3];
}
durchs=addition/i;
System.out.println("Durchschnittliche Dauer der Beantwortung von Frage 4: "+durchs+" ms");
addition=0; i=0;
for(; i<zeit.length; i++)
{
addition=addition+zeit[i][4];
}
durchs=addition/i;
System.out.println("Durchschnittliche Dauer der Beantwortung von Frage 5: "+durchs+" ms");
System.out.println();System.out.println();
System.out.println("Dies ist das Ende der Auswertung.");
System.out.println("Um fortzufahren bitte beliebige Taste druecken...");
BufferedReader lesen = new BufferedReader(new InputStreamReader(System.in));
String weiter = lesen.readLine();menueWaehlen();
}
}
public class Lernsituation_4 {
public static void main(String[] args) throws IOException {
PsyUntersuchung test=new PsyUntersuchung();
test.menueWaehlen();
}
}
Zuletzt bearbeitet von einem Moderator: