User Tag List

Ergebnis 1 bis 11 von 11

Thema: EDV - Java

  1. #1
    Mitglied
    Registriert seit
    06.2005
    Beiträge
    1.103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    EDV - Java

    Hi, ich hab Probleme mit nen paar Aufgaben in EDV, zum Thema Schleifen in Java. Würd mich freuen wenn mir jemand helfen kann.

    Also hier die Aufgaben:

    1. Es soll so of gewürfelt werden( mit (int)(Math.random()*6)+1 ) bis 2 mal 6 erreicht wird

    2. Wie groß ist die Summe aller Zahlen von 1-100

    3.Der Holländer Peter Minuit kaufte im Jahr 1725 von den Indianern die Halbinsel Manhatten für 24$. Wieviel müsste er im aktuellen Jahr bezahlen
    wenn die Indianer den Preis pro Jahr um 3% erhöhr hätten ?

  2. #2
    Mitglied
    Registriert seit
    01.2004
    Beiträge
    891
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    wie, 2 mal 6? du meinst, bis zwei mal hintereinander eine 6 geworfen wurde? oder insgesamt?

    ich würds mit ner while schleife lösen,

    die dann macht (kann java syntax ned grad gut, will dir nur das prinzip zeigen)

    Variable2x6 = 0;
    while Variable2x6 != 2
    {
    würfeln
    if würfelwurf == 6
    { Variable2x6++ }
    }

    so in etwa müsste es funktionieren.

    das zweite:

    for (i = 1; i <= 100; i++) {
    wert von i ausgeben
    }

    for i = 0; i <= (2007-1725); i++ {
    variable_die_du_vorher_initialisierst_und_so = (selbe_variable) + 3/100*(selbe_variable)
    }

    so in etwa müsste das gehn.

  3. #3
    Mitglied
    Registriert seit
    07.2002
    Beiträge
    589
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Beim ersten hat Freierfall schon den richtigen Ansatz, ich mach noch Java-Code draus
    Code:
    int wuerfel = 0; // Variable für die Zufallszahl, vor der Schleife deklariert und initialisiert
    int sechsen = 0; // Zähler, wieviele Sechsen schon gewürfelt wurden, beginne mit 0
    while (sechsen < 2)  // solange weniger als zwei mal eine Sechs gewürfelt wurde
      {
      wuerfel = (int)(Math.random()*6)+1; // würfeln
      if (wuerfel == 6) // wenn Sechs gewürfelt
        {
        sechsen++; // erhöhe Zähler um eins
        }
      }
    Bei der zweiten Aufgabe ist der Ansatz leider falsch. Freierfalls Code würde die Zahlen von 1 bis 100 auflisten, nicht aufaddieren Richtig wäre etwas wie
    Code:
    int summe = 0; // zu Beginn ist die Summe 0
    for (int i=1; i<=100; i++) // durchlaufe alle Zahlen von 1 bis 100
      {
      summe = summe + i; // addiere die aktuelle Zahl zur bisherigen Summe
      }
    Beim dritten würde ich keine Substraktion machen. Die Intention der Aufgabe ist mMn zu zeigen, daß eine for-Schleife nicht unbedingt bei 0 oder 1 starten muß
    Code:
    double preis = 24.0; // Anfangswert 
    for (int jahr = 1725; jahr <=2007; jahr++)
      {
      preis = preis + (preis * 3 / 100); // addiere 3/100 dazu
      }
    Bis dann,

    scribble

  4. #4
    Mitglied
    Registriert seit
    01.2004
    Beiträge
    891
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    oh, beim zweiten hab ich mich verlesen ^^

    und beim dritten war ich zu faul, das im kopf auszurechnen, aber wenns bei o oder 1 anfängt, ists meist erheblich übersichtlicher etc.

  5. #5
    Mitglied
    Registriert seit
    06.2005
    Beiträge
    1.103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey, danke euch beiden Werds gleich mal aus probieren^^

  6. #6
    Mitglied
    Registriert seit
    06.2005
    Beiträge
    1.103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hab leider nochmal ne Frage:

    Wo muss ich bei den Aufgaben System.out.println(); hin setzen damit es mir das Ergebniss ausgibt ?

    Und die erste Ausgabe hab ich euch leider falsch gestellt, sie hieß wirklich:

    Es muss mit zwei Würfeln solange gewürfelt werden bis ein Doppelpasch erreit wurde (Würfel 1 =6 Würfel 2 =6)?

    Sorry wenn ich euch Umstände mach -.-

  7. #7
    Mitglied
    Registriert seit
    01.2004
    Beiträge
    891
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    das hab ich mir fast gedacht xD


    ich weiß ned, wie weit ihr schons eid, eigentlich müsste hier was mit break hin
    Code:
    int wuerfel = 0; // Variable für die Zufallszahl, vor der Schleife deklariert und initialisiert
    int wuerfel2 = 0; // Zähler, wieviele Sechsen schon gewürfelt wurden, beginne mit 0
    while (wuerfel)  // immer wahr, geht auch alles andere... vllt auch while () ?
      {
      wuerfel = (int)(Math.random()*6)+1; // würfeln
      wuerfel2 = (int)(Math.random()*6)+1; // würfeln
      if (wuerfel == 6) and (wuerfel2 == 6) // wenn beide 6 sind
        break;
      }
    System.out.println("Hui, beide WÜrfel sind auf 6!");

    das System.out.println() kommt immer wenn das ergebnis berechnet wurde, und ausgegeben werden soll.


    z.b. bei der letzen:
    Code:
    double preis = 24.0; // Anfangswert 
    for (int jahr = 1725; jahr <=2007; jahr++)
      {
      preis = preis + (preis * 3 / 100); // addiere 3/100 dazu
      }
    System.out.println("Der Preis würde heute " + preis + "Euro lauten");
    so in etwa.



    http://www.galileocomputing.de/openbook/javainsel6/

    lies das xD
    gibt gute Noten ;P

  8. #8
    Mitglied
    Registriert seit
    06.2005
    Beiträge
    1.103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Danke, hat funktioniert^^ Und bei der ersten isch mir eingefallen dass mir des mit if machen mussten, weil "break" kennen wir noch nicht.

  9. #9
    Mitglied
    Registriert seit
    07.2002
    Beiträge
    589
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    break brauchst Du an der Stelle auch gar nicht Setz Dir vor der Schleife eine boolsche Variable auf false
    Code:
    boolean pasch = false;
    Die Schleife läuft dann, solange diese Variable false ist
    Code:
    while(!pasch)
      {
      ...
      }
    Wenn Du einen Pasch gewürfelt hast, setzt Du die Variable auf true, und die Schleife wird beendet
    Code:
    if (wuerfel == 6) and (wuerfel2 == 6) // wenn beide 6 sind
      pasch = true;
    Das geht sogar noch ein Stück einfacher: Dein Vergleich bringt Dir ja direkt einen boolschen Wert. Also kannst Du den einfach in die Variable schreiben
    Code:
    pasch = (wuerfel == 6) && (wuerfel2 == 6);
    Bis dann,

    scribble

  10. #10
    Mitglied
    Registriert seit
    01.2004
    Beiträge
    891
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ich habs so geschrieben, wie ichs immer mache, d.h. eigentlich while-break für alles und jeden benutzen

    break ist nützlich, kannst das system.out.println aber auch anstelle des breaks setzen.

    das untere ginge ja bis hin zu
    while (wuerfel == 6) and (wuerfel2 == 6) {...}

  11. #11
    Mitglied
    Registriert seit
    06.2005
    Beiträge
    1.103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Des ganze hat sich nun erledigt, da wir heute morgen die Arbeit geschrieben haben, war gar nicht so schlecht^^ Danke nochmal euch beiden das ihr mir geholfen habt^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Das Splash-Netzwerk: Splashp@ges - Splashbooks - Splashcomics - Splashgames
Unsere Kooperationspartner: Sammlerecke - Chinabooks - Salleck Publications - Splitter - Cross Cult - Paninicomics - Die Neunte
Comicsalon Erlangen
Lustige Taschenbücher