Punktestand

JavaAnfänger1235

Bekanntes Mitglied
Hallo,
Ich habe folgende für mich schwierige Aufgabe:
Ziel ist es, Namen und zugehörige Punkte mittels Felder zu verwalten. Das programm erhält sämtliche Namen per Kommandozeilenparameter (d.h sie werden automatisch in das String- Feld eingetragen, welche die main Methode enthält. Jeder Spieler hat zu Beginn 0 Punkte.

Das Programmsoll nun solange einen Namen und eine Punktzahl einlesen, bis als Name die leere Zeichenkette "" eingegeben wird. Wenn ein Name eingegeben wurde, soll, wie bereits beschrieben, eine Punktzahl eingelesen werden und zur bereits vorhandenen addiert werden. Es werden nur Namen eingegeben, die bereits vorhanden sind.
Wurde die leere Zeichenkette als Name eingegeben, werden alle Namen und die zugehörigen Punkte wie folgt ausgegeben:
Spieler1:0.


Java:
import java.io.*;

public class Testklasse {

    public static void main(String[] args) throws IOException {
      BufferedReader ein = new BufferedReader(new InputStreamReader(System.in));
 int Punktefeld [] =new int [args.length];
      String Name = ein.readLine();
      while(!(Name.equals(""))){
        
        
               int punktzahl= Integer.parseInt(ein.readLine());
             
              
             
                }
      }
     
    }

Das habe ich bis jetzt geschafft. Ich muss die Namen irgendwie speichern. Wie kann ich da weiter machen?
 
Zuletzt bearbeitet:

krgewb

Top Contributor
Also soll das Programm z.b. wie folgt gestartet werden?
Code:
java Testklasse Tim Otto Heinrich Anja
Und dann per Konsole:
Code:
Anja
4
Otto
3
Tim
8
Anja
2
Otto
1
Otto
1
   (leer gelassen)

Tim:8
Otto:5
Heinrich:0
Anja:6
 

JavaAnfänger1235

Bekanntes Mitglied
Java:
mport java.io.*;

public class Testklasse {

    public static void main(String[] args) throws IOException {
      BufferedReader ein = new BufferedReader(new InputStreamReader(System.in));
     
      int Punktefeld [] =new int [args.length];
      String Name="1";
      int  punkte=0;
     
      while(!(Name.equals(""))){
            Name = ein.readLine();
           
          for ( int i=0; i<args.length; i++ ) {
              if(args[i].equals(Name)) {
                 
                  punkte=Integer.parseInt(ein. readLine());
                  Punktefeld [i] =  Punktefeld [i] + punkte;
              }
          }
      }
    
      for(int i=0; i<args.length;i++) {
          System.out.println(args[i] + ":" + Punktefeld[i]);
      }
    }
  }

So habe ich es gemacht jetzt.
 

UniHalleInformatik

Neues Mitglied
Hallo JavaAnfänger1235 ich möchte sie darauf hinweisen, bitte keine Aufgaben der Universität in diesem Forum zu veröffentlichen sowie nach Lösungen dieser zu fragen.
Dies ist weder für sie, noch für die Studierenden der folgenden Semester, welche diese Lösungen kopieren könnten von Vorteil.
 
Offtopic:

I bims,
ich ghostwrite die Übungen für einen Ihrer Studen*tin*nen (ist das richtig gegendert?). Die Aufgaben sind für Programmieranfänger unlösbar. Wenn Ihr Plan ist, die 3 Stundenten die die Aufgaben lösen können zu behalten und die restlichen durchfallen zu lassen: gz. Mit Didaktik hat Ihre Herangehensweise nichts zu tun. Javaanfänger1235, der verzweifelt versucht irgendwie durchzukommen und auch noch versucht die Tips umzusetzen, muss ich an dieser Stelle in Schutz nehmen. Eine Uni sollte ein Ort zum Lernen sein, nicht zum Scheitern.
Falls Sie wissen wollen wem ich helfe: Erhöhen Sie das Niveau der Übungen solange, bis nur noch einer übrig ist.


PS: C# > Java
 

Meniskusschaden

Top Contributor
Ich kann mir zwar nicht vorstellen, dass das Posting ernst gemeint ist, aber ich schreibe trotzdem mal meine Meinung.
Mit Didaktik hat Ihre Herangehensweise nichts zu tun.
Man sollte es mit der Didaktik an einer Uni nicht übertreiben. Wenn ich einen Absolventen einstelle, will ich mich zumindest in der Hinsicht auf den Abschluß verlassen können, dass er Problemlösungen selbstständig erarbeiten und wissenschaftlich-technische Texte ohne fremde Hilfe verstehen kann. Wenn man das an der Uni ständig didaktisch aufbereitet, werden die Leute, die das nicht können, doch gar nicht ausgesiebt. Es geht nicht darum, möglichst viele Absolventen zu produzieren, sondern solche, die auch wirklich etwas können.
Eine Uni sollte ein Ort zum Lernen sein, nicht zum Scheitern.
Wo sollte denn sonst der Ort zum Scheitern sein? Genau da gehört er hin, damit der Schaden überschaubar bleibt. Ich finde es deshalb auch gut, wenn möglichst frühzeitig ausgefiltert wird.
 
Ich finde es fragwürdig, dass ein Student nach ein paar Wochen Uni (wo OOP auch nur ein Teil des Stoffs ist) in einer wöchentlichen Übung mehr als 200 Zeilen Quellcode mit mehrdimensionalen Arrays produzieren muss. Ich hab selbst einige duale Studenten betreut; die haben wir auch nicht "ausgefiltert", nur weil die nach ein paar Wochen nicht sinnvoll an Kundenprojekten arbeiten konnten. Ein Studierender, der das Modul OOP belegt, muss ja auch nicht zwangsweise Softwareentwickler werden.
 
X

Xyz1

Gast
:D Was ist denn hier los?
Hätte ich gewusst, das hier etwas zu Lachen ist, hätte ich mich sofort eingeschaltet. :D:D

@UniHalleInformatik :
+ 1

@csharpistbesseralsjava :
du hast das falsch verstanden. Diese Aufgabe könnte sogar als Vorwissen Bedingung (Voraussetzung) für die Vorlesung oder 1. Woche sein.
Ich meine, die wollen Informatiker werden - und nicht Politiker, die für Ämter schleimen wo es nur geht und nicht an andere denken.
Das es @JavaAnfänger1235 vielleicht nicht hinbekommen wird, ist ganz normal. Viele bekommen es nicht hin - falls ers doch packt.... währe das echt eine Ausnahme.

Das soll nicht höhnisch klingen.... Optimismus ist begrenzt. :)

(-Falls ich irgendwas bei der Aufgabenstellung helfen soll, hier in dem Thema einfach schreiben.-)
 

Meniskusschaden

Top Contributor
Ich finde es fragwürdig, dass ein Student nach ein paar Wochen Uni (wo OOP auch nur ein Teil des Stoffs ist) in einer wöchentlichen Übung mehr als 200 Zeilen Quellcode mit mehrdimensionalen Arrays produzieren muss.
Grundsätzlich spricht doch nichts dagegen. Weder sind 200 Zeilen viel, noch sind mehrdimensionale Arrays kompliziert. Ohne die konkrete Aufgabe zu kennen, kann man es letztendlich nicht beurteilen.
Ich hab selbst einige duale Studenten betreut; die haben wir auch nicht "ausgefiltert", nur weil die nach ein paar Wochen nicht sinnvoll an Kundenprojekten arbeiten konnten.
Als Außenstehender kann ich natürlich nicht beurteilen, ob man das bei euch nach der Zeit eigentlich können müßte. Hat für mich aber erst einmal nichts mit der Situation zu tun, in einem Grundlagenkurs zu scheitern.
Ein Studierender, der das Modul OOP belegt, muss ja auch nicht zwangsweise Softwareentwickler werden.
Ähnliche Argumente hört man immer wieder, wenn sich Studenten ihre Schummeleien schön reden. Man kann bei der Beurteilung aber schlecht zwischen den Studenten unterscheiden, die ihr Studium später ernsthaft beruflich nutzen wollen und denen, die sich aus irgendwelchen anderen Gründen damit beschäftigen. Es leuchtet mir auch nicht ein, warum für Letztere laxere Regeln gelten sollten. Nach dieser Logik könnte man jedem Studenten auch sofort nach der Einschreibung seinen Abschluß geben, weil man das meiste ohnehin wieder vergißt. Das Wesentliche ist, nachzuweisen, daß man sich so etwas erarbeiten kann, denn dann kann man sich auch Anderes erarbeiten. Wenn sich Studenten davor drücken oder wenn man ihnen das abnimmt, hat das ganze Studium keinen Sinn. Im Übrigen ist das Studium nach der ersten versemmelten Übung ja noch nicht beendet. Man sollte aber die nötigen Konsequenzen daraus ziehen.
 

Oben