WinFuture-Forum.de: Erklärung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Erklärung


#1 Mitglied ist offline   Joragon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 05. Oktober 09
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2010 - 14:07

Hey,
ich will jetzt Java lernen.Könnte mir einer von euch den Text hier erklären? Ich versteh den noch nicht ganz.

Text:

Zitat

public class Primfaktoren {


static void teilen (int zahl) {
int i;
int max;
max = (int) Math.round(Math.sqrt((double) zahl));

if (zahl <= 1) {
return;
}

if (zahl%2 == 0) {
System.out.print("2*");
teilen(zahl/2);
return;
}

for (i=3; i<=max; i=i+2) {

if (zahl%i == 0) {
teilen(i);
teilen(zahl/i);

return;
}
}
System.out.print(zahl + "*");

}


public static void main(String[] args) {

int zahl = 555;

System.out.println("Primfaktorzerlegung\n\nDie zu zerlegende Zahl lautet: " + zahl);
System.out.println("");
teilen(zahl);

}

}

danke schon im vorraus
0

Anzeige



#2 Mitglied ist offline   DarkAlucard 

  • Gruppe: aktive Mitglieder
  • Beiträge: 468
  • Beigetreten: 04. Dezember 09
  • Reputation: 5
  • Geschlecht:Männlich

geschrieben 28. Juni 2010 - 14:26

Also ich kann kein Java (also ist meine Empfehlung nicht 100%ig), erkenne aber die Logik:

Es handelt sich ja offensichtlich um eine Primzahlenberechnung

public class Primfaktoren {


static void teilen (int zahl) {
int i; 
int max;
max = (int) Math.round(Math.sqrt((double) zahl)); // Runden der eigegebenen Zahl auf eine volle Zahl (ohne Nachkommastelle)

if (zahl <= 1) {
return; // Ist die Zahl Kleiner oder Gleich 1 Wird abgebrochen 
}

if (zahl%2 == 0) { //Ist die Zahl durch 2 Teilbar und bleibt ein Rest von 0
System.out.print("2*");
teilen(zahl/2);
return; // Wenn die Zahl durch 2 Teilbar ist, ist die keine Primzahl -> Abbruch 
}

for (i=3; i<=max; i=i+2) { // Es wird geprüft ob die Zahl durch eine geringere Zahl teilbar ist, dabei werden alle Zahlen von 3 bis zu der Eingegebenen Zahl geprüft.

if (zahl%i == 0) { // Ist die Zahl durch eine andere Zahl mit dem Rest von 0 Teilbar wieder Abbruch da keine Primzahl
teilen(i);
teilen(zahl/i);

return; 
}
}
System.out.print(zahl + "*"); // Ausgabe in die Kommandozeile

}


public static void main(String[] args) {

int zahl = 555; // hier wird die auf Primzahl zu prüfende Zahl eingegeben (vermutlich später über ein echtes eingabefenster, denn so ist sie ja fix)

System.out.println("Primfaktorzerlegung\n\nDie zu zerlegende Zahl lautet: " + zahl); // Ausgabe in die Kommandozeile
System.out.println("");
teilen(zahl);

}

}

Dieser Beitrag wurde von DarkAlucard bearbeitet: 28. Juni 2010 - 14:29

Du benutzt VMware Server 2, aber das Webplugin um auf die VMs zuzugreifen nervt dich extrem?
Probier meine GUI, den VMRConnector
(Alucards Vmware Vmrc-gui)
Eingefügtes Bild
0

#3 Mitglied ist offline   Joragon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 05. Oktober 09
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2010 - 14:30

danke ich glaub ich habs jetzt verstanden
-closed-

ach ja Primfaktorzerlegung
0

#4 Mitglied ist offline   Joragon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 05. Oktober 09
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Juni 2010 - 16:42

das stimmt aber nicht ganz kann das jmd. noch berichtigen ?

das stimmt aber nicht ganz kann das jmd. noch berichtigen ?
0

#5 Mitglied ist offline   DarkAlucard 

  • Gruppe: aktive Mitglieder
  • Beiträge: 468
  • Beigetreten: 04. Dezember 09
  • Reputation: 5
  • Geschlecht:Männlich

geschrieben 29. Juni 2010 - 07:03

schreib doch mal bitte was genau du nicht verstehst oder (angeblich) nicht stimmt.

Weil den ganzen Quellcode erklären ist immer mühsam und meistens unnütz, da ich ja nicht weiß ich wie weit du durchsteigst.
Du benutzt VMware Server 2, aber das Webplugin um auf die VMs zuzugreifen nervt dich extrem?
Probier meine GUI, den VMRConnector
(Alucards Vmware Vmrc-gui)
Eingefügtes Bild
0

#6 Mitglied ist offline   a s Y 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 30. Juni 09
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Juelich
  • Interessen:Computer, Electronic Sports League, Playstation 3, Roller

geschrieben 29. Juni 2010 - 07:49

Welchen Absatz aus dem Quelltext verstehst du nicht?
Eingefügtes Bild
0

#7 Mitglied ist offline   TingoDingo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 121
  • Beigetreten: 25. Oktober 09
  • Reputation: 0

geschrieben 29. Juni 2010 - 14:35

Und wenn man wüsste wie weit du ungefähr bist, wäre das auch schon hilfreich. Man kann die ja einen von Objekten und Klassen erzählen, wenn du das noch nie gehört hast. Lernst du Java anhand eines Buches?
dann kann ich vllt weiterhelfen.
0

#8 Mitglied ist offline   Lofote 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.526
  • Beigetreten: 24. August 04
  • Reputation: 1

geschrieben 29. Juni 2010 - 15:35

Ich kann kein Spanisch, möchts aber nun lernen. Kann mir jemand ein spanisches Buch übersetzen?

...sorry, konnte es mir nicht verkneifen...
0

#9 Mitglied ist offline   deepthought 

  • Gruppe: aktive Mitglieder
  • Beiträge: 312
  • Beigetreten: 16. Januar 07
  • Reputation: 0

geschrieben 29. Juni 2010 - 15:39

Beitrag anzeigenZitat (Lofote: 29.06.2010, 16:35)

Ich kann kein Spanisch, möchts aber nun lernen. Kann mir jemand ein spanisches Buch übersetzen?

...sorry, konnte es mir nicht verkneifen...


Naja in dem Fall isses ja nur eine Seite aus nem Buch. :blink:
0

#10 Mitglied ist offline   Ant92 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 14. August 10
  • Reputation: 0

geschrieben 14. August 2010 - 09:07

max = (int) Math.round(Math.sqrt((double) zahl)); // Runden der eigegebenen Zahl auf eine volle Zahl (ohne Nachkommastelle)


Der Fehler in der Erkärung liegt hier :)
Hier wird nämlich nicht die eingegebene Zahl auf eine volle Zahl gerundet, sondern die Wurzel diese Zahl ;D
Macht ja sonst keinen Sinn :(
0

#11 Mitglied ist offline   Kleine_Alice 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 30. April 10
  • Reputation: 0

geschrieben 19. August 2010 - 13:47

Jetzt konnte ich es auch endlich verstehen :rolleyes: Aber wenn man es einmal raushat-dann geht alles viel leichter. Anfangs verstand ichnur Bahnhof und jetzt läufts :angry:
0

#12 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.289
  • Beigetreten: 08. April 06
  • Reputation: 885
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 19. August 2010 - 14:05

Beitrag anzeigenZitat (Joragon: 28.06.2010, 15:07)

Hey,
ich will jetzt Java lernen.Könnte mir einer von euch den Text hier erklären? Ich versteh den noch nicht ganz.

Text:

danke schon im vorraus



Wenn du Java lernen willst

http://openbook.gali....de/javainsel8/

gehe das mal durch... alles andere hier an Code-Fetzen wo der gesamtzusammenhang fehlt ist meiner Meinung nach Schwachsinn.

Gruß,

Stefan
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0