Berechnung von Perioden

Status
Nicht offen für weitere Antworten.

Liteloo

Neues Mitglied
Hi,

wir sollen ein Programm schreiben, in dem man zwei Eingaben vornnehmen kann, "Zähler: " "Nenner: ", danach wird der Ganzzahlige Anteil, die Vorperiode und Periode ausgegeben. Ich habe anhand dieser Seite, versucht einen Algorithmus dafür aufzustellen:

http://www.arndt-bruenner.de/mathe/scripts/periodenlaenge.htm

Doch irgendwie scheint an meinem Code noch etwas nicht zu stimmen, bei einigen Zahlen läuft alles wunderbar, aber wenn ich z.B. 3/2 berechne, gibt er mir die Vorperiode nicht aus, ich bin schon am verzweifeln, hoffe die Veteranen unter euch, könnten mir da weiterhelfen ohne an meinem Code alles umzukrempeln, weil ich da wirklich viel Zeit für investiert habe:

Code:
import Prog1Tools.IOTools;

class test {
  public static void main (String[] args){
    int Zaehler,  Zaehler2, Zaehler3, Nenner, Nenner2,Potenz = 0,g = 0, b = 0, d = 0, e = 0, f = 0, x = 0, i = 0, Division , a  = 0;
    String Vorperiode = "", Periode = "";


    do{
    Zaehler = IOTools.readInteger("Bitte geben Sie den Zaehler ein: ");
    }while(Zaehler < 0);

    do{
    Nenner = IOTools.readInteger("Bitte geben Sie den Nenner ein: ");
    }while(Nenner <= 0);

    

   Division = Zaehler / Nenner;
   Nenner2 = Nenner;
   Zaehler2 = 10;
   Zaehler3 = Zaehler;
  
   for(;;){
   if (Zaehler3 % 2 != 0 || Nenner2 % 2 != 0 ){
   break;    
   }
   Zaehler3 = Zaehler3 / 2;
   Nenner2 = Nenner2 / 2;
   e++;
   }
   
   for(;;){
   if (Zaehler3 % 5 != 0 || Nenner2 % 5 != 0 ){
   break;    
   }
   Zaehler3 = Zaehler3 / 5;
   Nenner2 = Nenner2 / 5;
   f++;
   }
   
         if(e < f){
         x = f;  
         }

         else{
         x = e;
         }


         for(;;){
         Potenz++;
         if(Zaehler2%Nenner2 == 1){
         break;    
         }
         if(Zaehler2%Nenner2 == 0){
         Potenz = Potenz - Potenz;
         break;
         }
         Zaehler2 = (Zaehler2%Nenner2)*10;
         }    
    
      d = Zaehler3;  
       

      
      int[] Safe = new int[x + Potenz + 5 ];
      for(;;){
      Safe[i] = ((Zaehler3%Nenner2)*10)/Nenner2;
      Zaehler3 = (Zaehler3%Nenner2)*10;
      i++;
      if (Zaehler3 == 0 || i >= Safe.length-1){
      break;
      }
      }  

      if(x != 0){
      for(i=0; i <= x; i++){
      Vorperiode = Vorperiode + Safe[i];
      }     
      }
      
   
      if(Potenz != 0){
      for(i= x; i <= x + Potenz-1; i++){
      Periode = Periode + Safe[i];
      }
      }
    
    
     
    System.out.println("Ganzzahliger Anteil: " + (Division));


    System.out.println("Vorperiode: " + Vorperiode);


    System.out.println("Periode: " + Periode);

    System.out.println("2en: " + (e));
    System.out.println("5en: " + (f));
    System.out.println("Nenner gek: " + Nenner2);
    System.out.println("Zaehler gek: " + d);
    System.out.println("Periodenlänge: " + Potenz);
    System.out.println("Vorperiodenlänge: " + x);
    System.out.println("Safe.length: " + Safe.length);
    System.out.println("Zaehlerdurch2 " + e);
    System.out.println("Zaehlerdurch5: " + f);
}
}

Hier nochmal der link zum Prog1Tools.zip

http://www.grundkurs-java.de/software.htm
 

Marco13

Top Contributor
Hab hier gerade kein Java :? aber eine Foresuche nach "Vorperiode" liefert einige Ergebnisse, und ich würde dir dringend empfehlen, die Autoren dieser Beiträge mal per PN zu kontaktieren, weil ihr euch dann (in der Uni, Schule oder sonstwo) treffen könnt, um das so lange durchzuquatschen, bis ihr es alle verstanden habt. Bis dahin nur ein Link - das dort gesagte trifft auf dich zwar weniger zu, aber ... ganz allgemein....
http://www.java-forum.org/de/viewtopic.php?t=60477&highlight=vorperiode
 

Liteloo

Neues Mitglied
Danke sehr, aber es hat keiner diese Aufgabe so gemacht wie ich sie angepackt habe mit meinem Partner zusammen. Viele haben einen Array aufgestellt, in dem danach gesucht wird, ob ein Rest zweimal auftaucht oder nicht. Einige haben auch den Euklidischen Algorithmus verwendet. Hätten wir auch versuchen können, aber wir würden es doch gerne mit dem was wir jetzt haben lösen, weil wir uns nicht geschlagen geben wollen.

Ganz Allgemein:

Ich will hier nicht, dass mir einer einen komplett neuen Code erstellt, ich habe schon einen zu 90% funktionierenden (100% kompilierbaren und ausführbaren), mir geht es nur darum, herauszufinden, ob unser Ansatz überhaupt möglich ist und wenn ja, wo der Fehler drin liegen könnte.
 

Marco13

Top Contributor
Es ist vorstellbar, dass bei kommentarfreiem Code, mit so willkürlichen, nichtssagenden Variablennamen wie
int Zaehler, Zaehler2, Zaehler3, Nenner, Nenner2,Potenz = 0,g = 0, b = 0, d = 0, e = 0, f = 0, x = 0, i = 0, Division , a = 0;
verschachtelten, aussagefreien Endlosschleifen, die durch arbiträr wirkende, unkommentierte if-Abfragen abgebrochen werden, niemand Lust hat (oder auch nur in der Lage ist) euren "Ansatz" nachzuvollziehen. Wenn du den Ansatz (in Worten oder Pseudocode) beschreiben würdest, und es (durch Kommentare, sprechende Variablennamen und Debug-Ausgaben(!!!)) möglich wäre, diesen Ansatz irgendwie in Zusammenhang mit dem geposteten Code zu bringen, wäre das vermutlich was anderes. Aber sich jetzt da durchzuhangeln und solche Fragen zu stellen wie "Was wird
Code:
int[] Safe = new int[x + Potenz + 5 ];for(;;){Safe[i] = ((Zaehler3%Nenner2)*10)/Nenner2;
Zaehler3 = (Zaehler3%Nenner2)*10; i++; if (Zaehler3 == 0 || i >= Safe.length-1){break;}}  // HIER
gemacht, wäre wohl nicht zielführend.

Ich kann dir nur den Tipp geben, bei jeder Schleife
Code:
System.out.println("Fange jetzt an DIES_UND_DAS zu machen, der Wert von XXX ist "+XXX);
...
System.out.println("Mache gerade DIES_UND_DAS, der Wert von XXX ist jetzt "+XXX);
...
System.out.println("Bin Fertig mit DIES_UND_DAS, der Wert von XXX ist "+XXX+" und der Wert von YYY ist "+YYY);
und vor jede If-Abfrage
Code:
System.out.println("Prüfe, ob DIES_UND_JENES gilt, ZZZ ist "+ZZZ+" und die Abfrage ist "+(XXX+YYY%ZZZ==0));
zu schreiben, um rauszufinden, wo der Fehler liegt (oder das ganze in einem Debugger laufen zu lassen, was aber manchmal weniger übersichtlich ist, als ein kompletter Programm-Trace)

Danke sehr, aber es hat keiner diese Aufgabe so gemacht wie ich sie angepackt habe

Wenn man etwas so macht, wie es noch nie jemand gemacht hat, dann ist der eigene Ansatz meistens besonders geschickt oder besonders unklug. Und wenn man es partout nicht dazu bringt, so zu funktionieren, wie es sollte... naja :? Ich kann es - wie gesagt - euren Ansatz nicht beurteilen (da ich ihn nicht verstehe). Vielleicht ist er absolut genial (keine Ahnung). Aber ... manchmal gibt es für ein Problem nicht so viele verschiedene Lösungen, und die einzig richtige Lösung ist manchmal "die, die funktioniert".......
 

Marco13

Top Contributor
Oha - hätte wohl mal den Link genauer ansehen sollen :oops: sorry, also .... wenn dort der Algorithmus beschrieben ist, kann man sich das mal ansehen - ist aber ziemlich viel, dafür, dass die "Fehlermeldung" nur ist "es funktioniert nicht"....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
Jamie logische Verknüpfung zur Schaltjahr-Berechnung Java Basics - Anfänger-Themen 30
Stephan_kl Reihenwert-Berechnung, Ergebnis mit vorherigem Ergebnis vergleichen Java Basics - Anfänger-Themen 11
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
S Hashcode-Berechnung + ^ Java Basics - Anfänger-Themen 2
J Median-Berechnung von 2D-Teilarrays Java Basics - Anfänger-Themen 56
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Berechnung der Rektaszension und Deklination eines Sterns Java Basics - Anfänger-Themen 7
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
V Erste Schritte Pi Berechnung Java Basics - Anfänger-Themen 47
M Berechnung der Reststrecke bei Graphen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
B Berechnung zu einer Schleife formen Java Basics - Anfänger-Themen 6
B Berechnung Median mit Methode Java Basics - Anfänger-Themen 7
CptK Methoden Berechnung von Anfangsgeschwindigkeit und Winkel Java Basics - Anfänger-Themen 27
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Erste Schritte Berechnung des Paketportos - Problem/Frage Java Basics - Anfänger-Themen 52
J Gleitkommazahlen, Berechnung von pi Java Basics - Anfänger-Themen 4
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
kilopack15 Verzweiflung wegen Berechnung mit Multithreading Java Basics - Anfänger-Themen 1
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
Salo Berechnung von Winkeln Java Basics - Anfänger-Themen 28
M Restbuchwert Berechnung geht nicht Java Basics - Anfänger-Themen 45
Ghostman1711 Pi berechnung Methode aufrufen Java Basics - Anfänger-Themen 2
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
beatles Operatoren Operatoren - Berechnung Java Basics - Anfänger-Themen 40
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
N Verzögerte Berechnung "Lazy" Java Basics - Anfänger-Themen 8
J Erste Schritte Rundungsproblem - Berechnung Notendurchschnitt Java Basics - Anfänger-Themen 13
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
T Java double berechnung fehler Java Basics - Anfänger-Themen 2
M Berechnung in Java Java Basics - Anfänger-Themen 4
S Berechnung der Arbeitstage in einem Zeitraum Java Basics - Anfänger-Themen 9
E Problem bei rekursiver Berechnung des Binomialkoeffizienten Java Basics - Anfänger-Themen 5
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
S Double, int, Berechnung Java Basics - Anfänger-Themen 3
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
E Berechnung für Shop einbinden Java Basics - Anfänger-Themen 8
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
F Berechnung einer linearen Abschreibung Java Basics - Anfänger-Themen 5
E Berechnung von Punkten Java Basics - Anfänger-Themen 4
D Berechnung des Abstandes von zwei Punkten in einem Koordinatensystem Java Basics - Anfänger-Themen 14
A Methoden PI-Berechnung Java Basics - Anfänger-Themen 22
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
A Erste Schritte Steuer Berechnung, Alters Abhängig Java Basics - Anfänger-Themen 5
T Erste Schritte Berechnung von gerade und ungerade Zahlen Java Basics - Anfänger-Themen 10
J Erste Schritte Berechnung Ratten vermehrung Java Basics - Anfänger-Themen 4
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
T Iterative Berechnung einer Satellitenbahn Java Basics - Anfänger-Themen 20
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
D Nullstellen-Berechnung Java Basics - Anfänger-Themen 10
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
A berechnung multiplikatives inverses Java Basics - Anfänger-Themen 5
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
J Datentypen Fehler bei Berechnung mit Double und Int-Werten Java Basics - Anfänger-Themen 22
G Berechnung von Winkeln mit Cosinussatz Java Basics - Anfänger-Themen 2
B Arrays verwenden für Berechnung Java Basics - Anfänger-Themen 3
R Merkwürdige Modulo Berechnung Java Basics - Anfänger-Themen 7
B Hausaufgabe Berechnung quadratischer Funktion Java Basics - Anfänger-Themen 16
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
P Berechnung wird nicht durchgeführt Java Basics - Anfänger-Themen 2
D Berechnung von Ostern und Ramadan! Java Basics - Anfänger-Themen 24
N Algorithmus für Berechnung einer Quersumme Java Basics - Anfänger-Themen 9
D Berechnung von Geldausgabe Java Basics - Anfänger-Themen 22
F Berechnung von Kugeln! Java Basics - Anfänger-Themen 9
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
Semox Ersten Wert eines Intervalls bei Berechnung einschließen Java Basics - Anfänger-Themen 8
J Logarithmische Berechnung und Arrays Java Basics - Anfänger-Themen 2
B LinkedList - Berechnung des Produkts Java Basics - Anfänger-Themen 6
B Berechnung von Preisen per Java-Programm Java Basics - Anfänger-Themen 27
M Alters berechnung aus Geburtsjahr aus dem Buch Java Basics - Anfänger-Themen 5
O Fehler in der String-Distanz-Berechnung Java Basics - Anfänger-Themen 5
-horn- "Berechnung vorwärts, Optimierung rückwärts?" - Wie würdet ihr das machen? Java Basics - Anfänger-Themen 8
P iterative Berechnung Java Basics - Anfänger-Themen 9
1 Berechnung von PI mithilfe von Buffons Nadelproblem Java Basics - Anfänger-Themen 2
G Berechnung zwei Komplexen Zahlen Java Basics - Anfänger-Themen 34
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
J Programm für interaktive Berechnung von Temperaturverläufen Java Basics - Anfänger-Themen 9
K Annährende ganzzahlige Berechnung der Wurzel Java Basics - Anfänger-Themen 8
D einfach berechnung einer onlinezeit Java Basics - Anfänger-Themen 25
S Euklid Klasse mit Methoden zur Berechnung des ggT Java Basics - Anfänger-Themen 23
G Frage zur Primzahlen berechnung Java Basics - Anfänger-Themen 11
G Berechnung von N-Tageslinien von Aktienkursen Java Basics - Anfänger-Themen 13
G Rekursive Berechnung von n über k schlägt fehl Java Basics - Anfänger-Themen 5
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
W Schaltjahr Berechnung Java Basics - Anfänger-Themen 24
A Probleme mit Programm zur Pi-Berechnung Java Basics - Anfänger-Themen 6
X Temperatur-Berechnung /Array(?) Java Basics - Anfänger-Themen 5
L Berechnung Summe Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben