aufgabe

Status
Nicht offen für weitere Antworten.
M

morph

Gast
HAllo kannst du mir mit einer Aufgabe helfen.

/*Die Instanzvariable total ist eine Klassenvariable.
Schreiben Sie die Methode setName(String name), die den Namen eines Skiathleten setzt.
Schreiben Sie außerdem die Methode abfahren(double t) die folgendes tut:

1. Sie setzt die Instanzvariable zeit des aktuellen Objekts auf den Wert, der ihr als Parameter übergeben wurde.
2. Sie zählt die Abfahrten insgesamt und die Abfahrten eines jeden Skiathleten um eins hoch.
3. Sie gibt folgende Meldung an der Standardausgabe aus:

" Herr Z startete als X.ter Skiathlet und erreichte eine Zeit von XX.XX Min. Es war seine XX.te Abfahrt".

Schreiben Sie als drittes die Main-Methode in der selben Klasse. Erzeugen sie in der Main-Methode mindestens 2 Objekte vom Typ "Skiathlet". Geben Sie beiden Athleten einen Namen und lassen sie jeden Athleten mindestens zwei mal abfahren.*/

Code:
import java.util.Random;

class  Skiathlet {
	double total;
	static setName (String name) {
		String realName= name;
	}

	abfahren (double t) {
		double zeit=t;
	}



public static void main (String[] args) {
	

		Skiarray [] Skigewinner = new Skiarray[7];

	Skifahrer bruce = new Skifahrer();
	radev.name="Bruce Eckel";
	Skifahrer larry = new Skifahrer();
	larry.name="Larry Wall";
	Skifahrer linus = new Skifahrer();
	linus.name="Linus Torwalds";

	Random gewinner = new Random();
	System.out.println("Herr " +gewinner.Skiarray +" startete als " +k.A 
		+" ter Skiathlet und erreichte eine Zeit von " +k.A 
		+"Min. Es war seine " +XX ".te Abfahr.");


}

class Skifahrer
	{
	public String name;
	double fahrzeit;
	{


Ich wollte die Randommethode verwenden aber leider habe ich keine Ahnung wie ich die Methode mit dem Array verbunden soll, und die Skiathleten da. Ich glaube, dass es mit Randon geht nicht aber dann wie? Das mit der Zeit ist mir auch nicht unklar.
KAnnst du mir bitte, auch die quellcode erklären?

danke
 
B

Beni

Gast
Bevor wir zu sowas komplexes wie die Random-Funktion übergehen, wäre eine korrekte Implementation des Skifahrers wichtig :wink:
Ich gehe mal nach den 3 Punkten vor, die du hingeschrieben hast (und ignoriere den Rest. Du kannst ja den Teil denn du benötigst rausschneiden und verändern).

Die Instanzvariable total ist eine Klassenvariable.
Hm, auf die Gefahr hin mich zu irren, aber ist das nicht ein Widerspruch? Ich hab das irgendwie so im Kopf:
- Klassenvariablen: Variablen die mit static gekennzeichnet sind, existieren nur einmal
- Instanzvariablen: Variablen ohne static, die in jeder (nicht statischen) Methode innerhalb einer Instanz verfügbar sind.
- Methodenvariablen: Variablen die innerhalb einer Methode deklariert wurden.

Patch:
Code:
public class Skiathlet { // das public ist nicht unbedingt notwendig, aber es ist allgemein üblich, dass man Klassen public macht.

  private static int total = 0;  // private, damit nur wir etwas ändern können, static weil es eine Klassenvariable ist.
  private String name = "unknown"; // private Instanzvariable. Pro Skiathlet ein Namen.
  private int runs = 0; // Anzahl Abfahrten dieses Athleten

  public Skiathlet(){  // Der Defaultkonstruktor
  }

  public Skiathlet( String name ){ // Ein zweiter Kontruktor mit dem Namen
    setName( name );
  }

  public void setName (String name) { // Jeder soll den Namen verändern können, und der Name ist an die Instanz gebunden
     this.name = name;  // Der Instanzvariable den Namen zuweisen
  }

  public void abfahren (double time) {
     total++; // Eine zusätzliche Abfaht (im gesammten)
     runs++; // Eine zusätzliche Abfahrt (für den Athleten)

     // Ausgabe
     System.out.println( "Herr " + name + " startete als " + total + ".ter Skiathlet und erreichte eine Zeit von " 
        + time + " Min. Es war seine " + runs + ".te Abfahrt" );
   }

   ...
}

Und jetzt kommen wir mal zum random:
Code:
public static void main( String[] args ){
  Skiathlet[] fahrer = new Skiathlet[ 3 ]; // Ein Array aus Skiathleten erstellen

  fahrer[0] = new Skiathlet( "Bruce Eckel" );  // Den Array füllen
  fahrer[1] = new Skiathlet( "Larry Wall" );
  fahrer[2] = new Skiathlet( "Linus Torwalds" );

  // Machen wir 7 Abfahrten
  for( int i = 7; i > 0; i-- ){
    double random = Math.random();  // Eine zufällige Zahl zwischen 0 und 1
    random *= 3;  // Eine zufällige Zahl zwischen 0 und 3
    int index = (int)random;  // zufälligerweise einer von 0, 1, 2, 3

    if( index == 3 )  // Dieser Fall ist sehr unwahrscheinlich, da beim cast von double auf int immer abgerundet wird.
      index = 2;

     fahrer[ index ].abfahren( Math.random() * 30.0 + 30.0 ); // Dieser Fahrer hatten zwischen 30 und 60 Minuten (ist ein langer Kurs).
  }
}

So, das Beispiel gibt folgende Ausgabe:
Herr Bruce Eckel startete als 1.ter Skiathlet und erreichte eine Zeit von 32.483057221116354 Min. Es war seine 1.te Abfahrt
Herr Bruce Eckel startete als 2.ter Skiathlet und erreichte eine Zeit von 50.33242893062423 Min. Es war seine 2.te Abfahrt
Herr Linus Torwalds startete als 3.ter Skiathlet und erreichte eine Zeit von 41.711319434740915 Min. Es war seine 1.te Abfahrt
Herr Larry Wall startete als 4.ter Skiathlet und erreichte eine Zeit von 54.56944640021345 Min. Es war seine 1.te Abfahrt
Herr Bruce Eckel startete als 5.ter Skiathlet und erreichte eine Zeit von 37.26992816251411 Min. Es war seine 3.te Abfahrt
Herr Larry Wall startete als 6.ter Skiathlet und erreichte eine Zeit von 34.42074979195361 Min. Es war seine 2.te Abfahrt
Herr Bruce Eckel startete als 7.ter Skiathlet und erreichte eine Zeit von 36.735574788293874 Min. Es war seine 4.te Abfahrt
Noch nicht alles ganz super, du kannst also noch ein bisschen rumbasteln :wink:

Ich glaub ich habe genügend Kommentare hingeschrieben, wenn's nicht hilft, beschreib den Problem ein bisschen genauer (und, öhöm, etwas leserlicher :roll: . Ich verstehe sonst auch English oder Français, wenn dir das lieber ist...)

Gruss Beni
 

Illuvatar

Top Contributor
Du hast manchmal mal (*) mit modulo (%) verwechselt :) .

Es muss heißen:
Code:
public static void main( String[] args ){ 
  Skiathlet[] fahrer = new Skiathlet[ 3 ]; // Ein Array aus Skiathleten erstellen 

  fahrer[0] = new Skiathlet( "Bruce Eckel" );  // Den Array füllen 
  fahrer[1] = new Skiathlet( "Larry Wall" ); 
  fahrer[2] = new Skiathlet( "Linus Torwalds" ); 

  // Machen wir 7 Abfahrten 
  for( int i = 7; i > 0; i-- ){ 
    double random = Math.random();  // Eine zufällige Zahl zwischen 0 und 1 
    random %= 3;  // Eine zufällige Zahl zwischen 0 und 3 
    int index = (int)random;  // zufälligerweise einer von 0, 1, 2, 3 

    if( index == 3 )  // Dieser Fall ist sehr unwahrscheinlich, da beim cast von double auf int immer abgerundet wird. 
      index = 2; 

     fahrer[ index ].abfahren( Math.random() % 30.0 + 30.0 ); // Dieser Fahrer hatten zwischen 30 und 60 Minuten (ist ein langer Kurs). 
  } 
}

Das ist aber immer noch nicht ganz korrekt. Jeder Athlet müsste mindestens zweimal abfahren. In deinem Beispiel ist Linus Torvalds ja auch nur einmal abgefahren.

Wie gesagt, noch ein bisschen rumbasteln :)
 
B

Beni

Gast
Illuvatar hat gesagt.:
Du hast manchmal mal (*) mit modulo (%) verwechselt :) .

Nein, hab ich nicht...
Weil: random ist eine Zahl zwischen 0 und 1 (uniformverteilt, aber das interessiert hier nicht).

random %= 3; Macht aus random eine Zahl zwischen 0 und 1, weil random bereits zwischen 0 und 1 ist.
random *= 3; Macht aus random eine Zahl zwischen 0 und 3. Das brauchen wir, denn es soll ein Index (0, 1 oder 2) hergestellt werden.

Probiere es mal mit % aus: nur Bruce wird abfahren.

Gruss Beni :roll:
 
B

Beni

Gast
[...]geht nicht aber dann wie[...]
Das mit der Zeit ist mir auch nicht unklar.
Ich stamme nicht aus Deutschland, desshalb würde ich diese Sprache nie kritisieren. Aber ist das ein korrekter dt. Satz? Was bedeutet er? Soll man das nach mathematisch-logischen Regeln auswerten (dann ist dir alles klar), oder ist das ein seltener Dialekt, der nur im hohen Norden gesprochen wird?

Naja, ich lese halt lieber Texte, bei denen man nicht über jedes zweite Wort nachdenken muss (von den Rechtschreibefehlern mal abgesehen) :wink:

Ich gebe allerdings zu, dass ich auch nicht besser bin :roll:

P.S. Wie du bemerkst, dass etwas unklar ist: wenn du Antworten erhältst, nach denen du gar nicht gefragt hast. :wink:

Gruss Beni
 
M

morph

Gast
Na gut. Nächste Mal versuche ich meine Frage deutlicher stellen. :)

danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jere58 Aufgabe zu Mustern Java Basics - Anfänger-Themen 1
M Interfaces Aufgabe Java Basics - Anfänger-Themen 2
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Ich zerbreche mit den kopf an einer Aufgabe Java Basics - Anfänger-Themen 61
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
T Informatik Studium Aufgabe Java Basics - Anfänger-Themen 4
T Aufgabe Informatik Studium Java Basics - Anfänger-Themen 10
I matrix aufgabe Java Basics - Anfänger-Themen 22
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
9 Aufgabe Bruttorechner Java Basics - Anfänger-Themen 14
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
StevenGG Aufgabe im Studium Java Basics - Anfänger-Themen 36
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
J OOP-Aufgabe Java Basics - Anfänger-Themen 15
Helix19 Informatik Grundkurs (Haus-)Aufgabe Java Basics - Anfänger-Themen 5
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 2
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 9
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Rechnungen-Aufgabe Java Basics - Anfänger-Themen 18
C Biene-Aufgabe Java Basics - Anfänger-Themen 2
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Aufgabe Flussdiagramm, kann jemand checken? Java Basics - Anfänger-Themen 8
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
J Rekursion Klausur Aufgabe Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
T Aufgabe zum Verschlüsselungsalgorithmus Java Basics - Anfänger-Themen 11
J Erste Schritte Aufgabe Java Basics - Anfänger-Themen 24
T Methoden BinaryTree transformieren Aufgabe Java Basics - Anfänger-Themen 36
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
S Sortieralgorithmus - Aufgabe mit Lösungsidee Java Basics - Anfänger-Themen 20
A Aufgabe: Gleitkommazahlen Java Basics - Anfänger-Themen 3
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
U Aufgabe zu Kontrollstrukturen Java Basics - Anfänger-Themen 8
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
J Aufgabe als Feuertaufe Java Basics - Anfänger-Themen 8
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
H aufgabe 4 Java Basics - Anfänger-Themen 297
M Hilfe bei Projektorientierungs-Aufgabe !! Java Basics - Anfänger-Themen 3
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
H was verlangt die aufgabe ? Java Basics - Anfänger-Themen 10
H java aufgabe Java Basics - Anfänger-Themen 68
H java aufgabe Java Basics - Anfänger-Themen 25
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
R Java Aufgabe (Teilbarkeit) Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H array aufgabe Java Basics - Anfänger-Themen 13
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
H aufgabe Java Basics - Anfänger-Themen 9
H lösung aufgabe Java Basics - Anfänger-Themen 12
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
H java online aufgabe Java Basics - Anfänger-Themen 4
H Array aufgabe Java Basics - Anfänger-Themen 7
H oop aufgabe probe kalusur Java Basics - Anfänger-Themen 11
H oop aufgabe Java Basics - Anfänger-Themen 19
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
W Thread Aufgabe - Vorgehensweise Java Basics - Anfänger-Themen 8
J Problem bei Aufgabe "Geldstückelung" Java Basics - Anfänger-Themen 5
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
B Verständnis Frage zu der Aufgabe Java Basics - Anfänger-Themen 30

Ähnliche Java Themen

Neue Themen


Oben