Problem bei "Primfakt.java"
Results 1 to 6 of 6
  1. #1
    Javanack's Avatar
    Title
    Hero
    Join Date
    Mar 2002
    Posts
    202
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Angry Problem bei "Primfakt.java"

    Habe in der 3. Runde das Beispiel bekommen, wo man eine Zahl zwischen 1 und 100 in seine Primfaktoren zerlegen muß. Folgenden Code habe ich verfaßt, bin aber ratlos warums nicht funktioniert. Es wird einfach nichts ausgegeben. Da ich ein Programmieranfänger bin, wäre ich für jede Hilfe dankbar.


    import eprog.*;

    public class Primfakt extends EprogIO {

    public static void main (String []args) throws EprogException
    {

    short[]primzahlen = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61 ,67,71,73,79,83,89,97};
    int eingabe = 0;
    String ausgabe = new String();
    boolean falscheEingabe = false;
    int i = 0;

    try {
    eingabe = readInt();
    if (eingabe < 0 || eingabe > 100)
    ausgabe = "FALSCHE EINGABE";
    eingabe = -1;
    }

    catch (EprogException e)
    {
    ausgabe = "?";
    eingabe = -1;
    }

    if (eingabe == 0)
    {
    ausgabe = "0";
    eingabe = -1;
    }
    if (eingabe == 1)
    {
    ausgabe = "1";
    eingabe = -1;
    }

    while (eingabe > 1 && i < 25) {
    if (eingabe % primzahlen[i] == 0)
    {
    ausgabe = ausgabe + primzahlen[i];
    eingabe = eingabe/primzahlen[i];
    if (eingabe != 1)
    ausgabe = ausgabe + " ";

    }
    i++;
    }
    println (ausgabe);
    }
    }

  2. #2

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    da :
    if (eingabe < 0 || eingabe > 100)
    ausgabe = "FALSCHE EINGABE";
    eingabe = -1;
    }
    gehört bevor ausgabe ein{und nach-1;ein}
    Last edited by girl; 13-05-2002 at 02:12.

  3. #3
    Javanack's Avatar
    Title
    Hero
    Join Date
    Mar 2002
    Posts
    202
    Thanks
    0
    Thanked 0 Times in 0 Posts
    danke jetzt gehts, aber auch noch nicht richtig. Bei der eingabe 32 gibt er nur 2 aus (statt 2 2 2 2). Also immer wenn eine Zahl öfters in der Ausgabe vorkommt, gibt er diese nur einmal aus. Wieso blos?
    pulchra sunt ubera, quae paulum supereminent et tument modice

  4. #4

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ich schaus mir nochmal an wenn ich daheim bin und kompelieren kann....

  5. #5
    DoomedOne
    wie oft kommt dieses Bsp denn noch

    also ich glaub der fehler ist da
    PHP Code:
    while (eingabe && 25)

     if (
    eingabe primzahlen[i] == 0
     { 
      
    ausgabe ausgabe primzahlen[i]; 
      
    eingabe eingabe/primzahlen[i]; 
      if (
    eingabe != 1
       
    ausgabe ausgabe " "
     }
     else 
    //Fix
      
    i++; 


  6. #6
    Javanack's Avatar
    Title
    Hero
    Join Date
    Mar 2002
    Posts
    202
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Jetzt funktionierts einwandfrei. Danke allen Beteiligten für die Mithilfe - ihr habt mich gerettet!
    pulchra sunt ubera, quae paulum supereminent et tument modice

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •