[Java] Problem mit "Startparametern/variablen"

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Prrovoss, 2. Februar 2012 .

Schlagworte:
  1. 2. Februar 2012
    Problem mit "Startparametern/variablen"

    hi,
    ich weiss, der titel is komisch gewählt
    das problem, dass ich habe hat soweit ich weiss auch einen bestimmten namen aber ich komme grade einfach nich drauf^^

    undzwar arbeite ich mit meinem programm, mit einem array of integer und einer integer variablen.

    ich will, dass wenn parameter in der kommandozeile übergeben wurden, das array damit befüllt wird. wenn keine parameter übergeben werden, soll das array einfach direkt befüllt werden.

    mit if-else und try-catch habe ichs nicht hingekriegt, da das array und die variable dann nicht definiert sind. das hat was mit dem compiler zu tun oder?

    das befüllen an sich sieht so aus:
    PHP:
            int []  = new  int [ args . length - 1 ];        
            
            for(
    int i = 0 ; i < args . length - 1 ; i ++) {
                
    a [ i ] =  Integer . parseInt ( args [ i ]);
            }
            
    int s  Integer . parseInt ( args [ args . length - 1 ]);
    funktioniert 1a^^ allerdings funktioniert es jetzt nicht, wenn keine parameter übergeben werden^^
     
  2. 2. Februar 2012
    AW: Problem mit "Startparametern/variablen"

    normalerweise "überlädt" man eine Methode wenn man will, dass sie einmal läuft mit bestimmten parametern und einmal ohne.

    Sprich du machst genau die gleiche Methode 2mal nur einmal mit parameter und einmal ohne.

    z.B.

    void fillArray(int arraySize) {
    //hier dein code mit Parameter
    }

    void fillArray() {
    //hier dein code ohne Parameter
    }

    --------------------------------------------------------------

    oder du übergibst noch ein boolean als parameter, welcher bei true (if anweisung in der methode, die das checkt) das Array mit dem int Parameter benutzt und bei false den int Parameter gar nicht erst beachtet und selbst eine Größe setzt.


    hoffe, ich habs richtig verstanden ^^
     
  3. 2. Februar 2012
    AW: Problem mit "Startparametern/variablen"

    müsste ich diese methoden nicht auch wieder in einer if-else anweisung aufrufen?

    if(args.length!=0) {
    fillArray(args.length);
    }
    else {
    fillArray();
    }

    das ganze würde dann wieder zum gleichen fehler führen oder nich?

    der idee konnte ich noch nich ganz folgen
     
  4. 2. Februar 2012
    AW: Problem mit "Startparametern/variablen"

    was meinst du mit direkt befüllen?

    ansonsten würd ich einfach folgendes tun:

    Code:
    public static void main(string[] args)
    {
     int[] a = null;
     if( args.length > 0 )
     {
     a = new int[args.length-1]; 
     for(int i=0;i<args.length-1;i++) {
     a[i] = Integer.parseInt(args[i]);
     }
     int s = a[a.length-1]; 
     }
     else
     {
     a = new int[5]; //bspgröße:5; kA was du da mit direkt befüllen meinst,
     //array füllen //weil die größe des arrays kennst du da ja auch nicht ohne parameter,
     //z.B. a[0] = 1; //wenn du es so wie oben machen willst
     //a[1] = 2;
     //...
     }
    }
    
    
     
  5. 2. Februar 2012
    AW: Problem mit "Startparametern/variablen"


    ja, genau so habe ich es probiert, geht aber nich.
    mit array direkt befüllen haste mich richtig verstanden, dann sollen einfach fester werte eingegeben werden.

    edit
    ne hab was übersehn, werde es ma testen

    edit
    ja, funktioniert genau so^^
    int[] a = null;
    die zeile hat mir nur gefehlt
    dankesehr
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.