1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Array auffüllen

  • Reute
  • 29. November 2007 um 13:12
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Reute
    Punkte
    25
    Beiträge
    4
    • 29. November 2007 um 13:12
    • #1

    :wave: hallo erst mal an alle,
    habe von einem Freund den Tip erhalten, dass wen man fragen hat, sie hier stellen kann und auch hier kompetente ratschläge bekommt

    Zitat


    public class Test{


    public static void toSingle(double n){

    int i;
    int[] Ergebnis=new int[32];

    for (i = 1; i < 31; i++){ //Feld mit Nullen fuellen
    Ergebnis[i] = 0;}

    if (n < 0)
    Ergebnis[0]=1;
    else
    Ergebnis[0]=0;


    System.out.println(Ergebnis);
    }
    }

    Alles anzeigen

    ich habe ein kleines Porblem bei meiner Aufgabe und zwar möchte ich mein array welches länge 32 hat mit lauter nullen auffüllen und dieses ausgeben, jedoch soll meine nullte position wenn eingebae Zahl n<0 = 1 sein wenn n>0 =0, danach soll dieses array ausggeben werden...
    jedoch gibt er mit ganz komische buchstaben und zahlen aus
    am besten uppe ich mal meinen code und vielleicht findet ihr ja meinen fehler (s.o.)

  • AntiBit
    Punkte
    1.712
    Beiträge
    297
    • 29. November 2007 um 13:32
    • #2

    Den Array-Inhalt musst du in ner Schleife ausgeben:

    Code
    for(int i=0;i<ergebnis.length;i++)
            System.out.println("Element "+i+" hat den Wert: "+ergebnis[i]);

    Sonst passt dein Code.

  • Reute
    Punkte
    25
    Beiträge
    4
    • 29. November 2007 um 13:42
    • #3

    hmm danke für deine antwort,
    aber er gibt mir nichts das aus was ich da haben will...
    also ich möchte nachher einfach sowas da stehen haben

    [1,0,0,0,0,0,0,0,0,....,0] und das mit der länge 32,
    aber so gibt er mir nur die einzelnen werte aus für jede position des arrays

  • Paulchen
    Gast
    • 29. November 2007 um 13:50
    • #4
    • Gib als erstes die öffnende Klammer aus:

      Code
      System.out.print("[");
    • Dann musst du über alle Elemente im Array iterieren, wie von AntiBit bereits angesprochen:

      Code
      for(int i=0;i<ergebnis.length;i++)
    • In der Schleife gibst du dann jeweils den Wert des i-ten Elements aus:

      Code
      System.out.print(ergebnis[i]);
    • Wenn wir nicht beim letzten Element sind, geben wir danach ein Komma aus (noch in der Schleife):

      Code
      if(i<ergebnis.length()-1) {
          System.out.print(",");
      }
    • Und nach der Schleife müssen wir dann noch die schließende Klammer ausgeben.

    Um ein Array mit lauter gleichen Werten zu befüllen, kann man übrigens Arrays.fill verwenden (siehe Java API).

  • Reute
    Punkte
    25
    Beiträge
    4
    • 29. November 2007 um 13:56
    • #5

    hmm danke für deine antwort,
    aber er gibt mir nichts das aus was ich da haben will...
    also ich möchte nachher einfach sowas da stehen haben

    [1,0,0,0,0,0,0,0,0,....,0] und das mit der länge 32,
    aber so gibt er mir nur die einzelnen werte aus für jede position des arrays
    habe das nun mal so gemacht

    Zitat


    public class Test{

    public static void toSingle(double n){

    int j;
    int[] Ergebnis=new int[32];
    int[] result=new int[31];

    for (j = 1; j < 31; j++){ //Feld mit Nullen fuellen
    Ergebnis[j] = 0;
    }

    if (n < 0)
    Ergebnis[0]=1;
    else
    Ergebnis[0]=0;


    while(n > 0 && j < 32){
    result[31-j]=n%2;
    n=floor(n/2);
    j++;}

    System.out.print("[");
    for(int i=0;i<Ergebnis.length;i++)
    System.out.print(Ergebnis[i]+",");
    System.out.print("]");
    }
    }

    Alles anzeigen


    was ich im endeeffekt will, ist das er mit die Zahl ins binärsystem umwandelt und die einzelnen Ziffern in ein array speichert welches halt bis zur länge 32
    warum gerade 32 weiß ich nicht, vielleicht kommt da mal noch was,
    ich hoffe dass auch mein lösungansatz richtig ist??
    jedoch habe ich da sicher ein kleines Problem und zwar was mache ich wenn ich z.b. 0,2 ins binärstystem umwandle, dann muss er ja mir irgendwo ein komma ausgeben, aber wie soll ich das in das araay dann einbinden??

  • Reute
    Punkte
    25
    Beiträge
    4
    • 29. November 2007 um 16:06
    • #6

    Kann mir vielleicht jemadn sagen warum diese Methode nicht meine double zahl in eine binärzahl umwandelt??

    Kommt immer ein fehler und zwar dass die Präzision verloren ginge

  • java-girl
    Punkte
    2.037
    Beiträge
    357
    • 29. November 2007 um 19:21
    • #7
    Zitat von Reute

    Kann mir vielleicht jemadn sagen warum diese Methode nicht meine double zahl in eine binärzahl umwandelt??

    Welche Methode?


    Zitat von Reute


    Kommt immer ein fehler und zwar dass die Präzision verloren ginge

    Also das wundert mich nicht...

  • a9bejo
    Punkte
    4.697
    Beiträge
    913
    • 2. Dezember 2007 um 11:04
    • #8

    Ein Array mit primitiven Werten befuellen:
    ,%20int)"]java.util.Arrays#fill()

    Eine Instanz von Integer in einen Binary String umwandeln:
    java.lang.Integer#toBinaryString()


    Einen String in ein Array aus chars umwandeln:
    java.lang.String#toCharArray()

    Einen String zusammenbauen:
    java.lang.StringBuilder


    => Zusammensetzen.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum