myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Brauche Hilfe kleines Java Problem (https://mygully.com/showthread.php?t=2626801)

Lolipopper 20.05.12 14:04

Brauche Hilfe kleines Java Problem
 
Hi,

versuche mich gerade an folgender Programmieraufgabe:

http://s15.postimage.org/v4p6wj2bf/aufgabe.jpg

ich scheitere allerdings daran, dass ich mir mein Feld am Ende nicht ausgeben lassen kann und so nicht weiß ob ich alles richtig gemacht habe.


Code:

import Prog1Tools.IOTools;
public class feldordnung{


 public static double[] enter(double d, double k, double [] dFeld){
  double [] newfeld = new double[dFeld.length +1];

  if(k<0){
    newfeld[0]= d;
    for(int i=1; i< newfeld.length; i++){
    newfeld[i]= dFeld[i-1];
    return newfeld;
    }
  }
  if(k>= dFeld.length){
  for(int i=0; i< newfeld.length; i++){
    newfeld[i]= dFeld[i];
    newfeld[newfeld.length-1]= d;
    return newfeld;

  }
  } else{

 
  newfeld[(int)(k-1)]= d;
  for(int i=0; i< newfeld.length; i++){
    if(i<(k-1)){
      newfeld[i] = dFeld[i];
      }
    if(i>= k){
      newfeld[i+1]= dFeld[i];
    }
  }
  return newfeld;
 }
    return newfeld;
}
 public static int position (double d, double[] dFeld){
  for(int i =0; i< dFeld.length; i++){
    if(dFeld[i]== d){

   
      return i;
    }else{
      if(d>0){
        return 0 ;
      }

    }
  } return dFeld.length;
 }
 public static void main (String [] args){
  int x = IOTools.readInteger("länge feld:");
  double [] dFeld = new double[x];
  for(int i = 0; i< x; i++){
    double n = IOTools.readDouble((i+1)+"ter Wert:");
      if(n ==0){
      break;
    }
    double g = position(n, dFeld);
    enter(g, (double) x, dFeld);

  }
 



 }
 
 

}

Anstatt "enter(g, (double) x, dFeld);" müsste dann ja die Referenz auf newfeld dastehen.

Wie kann ich mir jetzt die einzelnen Komponentan ausgeben lassen?

THX schonmal :T

Robar666 20.05.12 14:46

Du lieferst ja in 'enter' das neue Feld zurück das musst dann einfach wieder dFeld zuweisen.

Code:

public static void main (String [] args){
  int x = IOTools.readInteger("länge feld:");
  double [] dFeld = new double[x];


  // eingabe
  for(int i = 0; i< x; i++){
    double n = IOTools.readDouble((i+1)+"ter Wert:");
      if(n ==0){
      break;
    }
    double g = position(n, dFeld);
    dFeld  = enter(g, (double) x, dFeld);

  }

  // ausgabe
  // for schleife die alle werte aus dFeld ausgibt
 }

Hab mir deinen Code jetzt aber nicht weiter genauer angeschaut.

Lolipopper 21.05.12 10:37

ok, thx soweit, werde mich nochmals damit beschäftigen :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.