dimanche 15 mai 2016

Cant print numbers of my array

Problem regarding random number generator with two arrays.

I'm having problems with my arrays. I can print the right number of elements inside the array, but i solve how to print all the numbers of the array.

Is it that i haven't manage to get all the numbers in the arrays? Cant figure out what I'm doing wrong.

code at pastbin: http://ift.tt/27pmQUy

    public static void main(String[] args) {
    // TODO Auto-generated method stub


    //Variabler 
    int oddCounter=0; 
    int evenCounter=0;


    Scanner scan = new Scanner(System.in);
    //Inläsning av antalet tal
    System.out.println("Hur många slumptal i intevallet 0-999 önskas?");
    int numb = scan.nextInt(); //lägger in antaet

    System.out.println("Här är de slumpade talen:");


    //Skapar en array som hetet numb
    int array[] = new int[numb]; 


    //for loopen loopar igenom array numb och för varje loop så kör
    //den Math.random meetoden som ger ett slump tal upp till 999.
    for(int i =0; i < numb; i++){

        array [i]  = (int) (0 + 1000  * Math.random()); 

        System.out.print(array[i]);
        System.out.print(" ");// skriver ut mellanrum mellan talen


    }
    //skrive ut tomma rader för formatering.
    System.out.println();
    System.out.println();

    // En for loop som räknar hur många jämna tal det finns. Den går igenom array[numb] och evenCounter plussar på en för varje loopning. 
    //------------------------------------------------------
    //------------------------------------------------------


    //räknar hu många jämna tal det finns samt skapar rätt storlek för arrayen
    for(int j =0; j < numb; j++){

        if(array[j] %2 == 0){
            evenCounter++;

        }


    }


    //räknar hu många udda tal det finns samt skapar rätt storlek för arrayen
    for(int k =0; k < numb; k++){

        if(array[k] %2 == 1){

            oddCounter++;

        }

    }
    //skapar nya arreyer med rätt storlek
    int evenArray[] = new int [evenCounter];
    int oddArray[] = new int [oddCounter];


    for(int j =0; j < numb; j++){

        if(array[j] %2 == 0){
            evenArray [evenCounter -1 ] = array[j];

        }

    }
    for(int k =0; k < numb; k++){

        if(array[k] %2 == 1){
            oddArray [oddCounter -1 ] = array[k];

        }

    }




    //Skirver ut antal tal jämna tal. 
    System.out.println("Dessa " + evenCounter + " tal är jämna: ");
    for(int j =0; j < evenCounter; j++){

        //modulus operatorn kollar om vilka tal som är jämna. 


        System.out.print(evenArray[j]);
        System.out.print(" ");



    }


    System.out.println();
    System.out.println();




    //Output jämnatal

    //Skriver ut de udda talen
    System.out.println("Dessa " + oddCounter +  " tal är udda: ");
    for(int k =0; k < oddCounter; k++){


        System.out.print(oddArray[k]);
        System.out.print(" ");


    }

}

}

Big thanks!

/L




Aucun commentaire:

Enregistrer un commentaire