Auswertung von Fragebogen funktioniert nicht!

JG12111989

Mitglied
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:
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();
  }
 
}
Danke für jede Hilfe!!
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
- Bei der Überprüfung der Korrektheit bekomme ich IMMER 0% angegeben, auch wenn das richtige Ergebnisse gewählt wurde

Java:
  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+" %");

Du rechnest hier mit Integern (ganzahligen Werten), bei der Division hast du somit als Ergebnis 0. Und 0*100 ist einfach 0.
Du musst hier mit double arbeiten.

Danke für jede Hilfe!!

Schau dir deine Methode "fragenStellen" nochmal an. Bei jeder Frage welche du stellst machst du immer die gleichen Sachen, das könnte man leicht in eine weitere Methode auslagern, damit reduziert sich der Code und die Übersicht erhöht sich :)
 

JG12111989

Mitglied
einfach nur irgendwo statt dem einem "int" "double" schreiben reicht nicht

...okay, dann steh ich jetzt auf dem Schlauch.
Code:
int temp=0;
  for(int i=0; i<ergeb.length; i++)
  {
  if(ergeb[i][0]==2)
  {
  temp++;
  }
  }
  double proz=temp/ergeb.length*100;
  System.out.println("Prozentualer Anteil der korrekten Antworten zu Frage 1: "+proz+" %");
Mir wird der Fehler leider nicht ersichtlich....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
R Threads asynchrone Tätigkeit mit Ergebnis Auswertung Allgemeine Java-Themen 4
Developer_X Auswertung von Punkten Allgemeine Java-Themen 3
D falsche Annahme nach korrekter Auswertung (if, boolean) Allgemeine Java-Themen 2
T JUnit4 - Probleme mit der Auswertung Allgemeine Java-Themen 6
C Auswertung der for each schleife? Allgemeine Java-Themen 2
L Auswertung von Operatoren und Typkonvertierung! AAARGGH! Allgemeine Java-Themen 3
L E-Mail Auswertung mit Servlet (Excel) Allgemeine Java-Themen 3
I Source Code Auswertung - organize imports Allgemeine Java-Themen 2
M Vier gewinnt: Auswertung Allgemeine Java-Themen 4
G "fragebogen" Allgemeine Java-Themen 5
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
Lukas2904 Wie funktioniert ein KeyLogger? Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
I Wieso funktioniert das nich? Allgemeine Java-Themen 5
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
bueseb84 FolderWatcher mit WatchService funktioniert nur bedingt Allgemeine Java-Themen 5
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J Neuronales Netz funktioniert mal und mal nicht. Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
J FTPSClient funktioniert nicht Allgemeine Java-Themen 4
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
M Operatoren Warum funktioniert diese überprüfung nicht? Allgemeine Java-Themen 7
R jar-Datei funktioniert nicht Allgemeine Java-Themen 2
E Open Declaration Funktioniert nicht Allgemeine Java-Themen 0
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
RalleYTN requires transitive funktioniert nicht? Allgemeine Java-Themen 7
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
HarleyDavidson Eigener PropertyChangeListener funktioniert einfach nicht Allgemeine Java-Themen 3
J Exclude funktioniert nicht Allgemeine Java-Themen 2
K .jar funktioniert nicht vollständig Allgemeine Java-Themen 1
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
O Fahrenheit/Celsius Converter funktioniert nicht Allgemeine Java-Themen 2
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
U PersistenceManager.createEntityManager funktioniert nicht Allgemeine Java-Themen 3
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
M Primzahlberechnung funktioniert nicht. Allgemeine Java-Themen 4
A JFreeChart funktioniert nicht :( Allgemeine Java-Themen 6
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
A Debugger im Java-Editor funktioniert nicht Allgemeine Java-Themen 5
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
F JTextField funktioniert nicht Allgemeine Java-Themen 6
Athena Programm funktioniert nur beim Debugging korrekt, sonst nicht. Allgemeine Java-Themen 1
S CSV Eintrag der nächsten Zeile auslesen funktioniert nicht Allgemeine Java-Themen 8
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
G Verschlüsselungsalgorythmus funktioniert nicht Allgemeine Java-Themen 2
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
W getResources funktioniert nur in Eclipse, nicht in JAR Allgemeine Java-Themen 2
S Methode funktioniert nicht als ActionListener Allgemeine Java-Themen 4
M exec() funktioniert nicht Allgemeine Java-Themen 1
M RC4-Chiffre (funktioniert eingeschränkt) Allgemeine Java-Themen 6
X Datentypen Dropzone.options funktioniert nicht Allgemeine Java-Themen 1
D Java funktioniert nur mit deaktivierter Grafikkarte Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
K MD5 funktioniert nicht korrekt !? Allgemeine Java-Themen 9
M JAR Datei erstellen funktioniert nicht Allgemeine Java-Themen 5
Q JLabel Textausgabe funktioniert nicht Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben