Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδια,μια ερωτησουλα για ενα θεμα με πινακες.Θελω να δινω αριθμους ακεραιους σ εναν πινακα και μετα ν αποθηκευσω τους αρτιους και τους περιττους που θα βρω σ εναν διαφορετικο πινακα το καθενα.Ξερω που κανω λαθος αλλα κατι μου διαφευγει

Scanner sc = new Scanner(System.in);

    private int[] nums = new int[4];
    private int[] even;
    private int[] odd;

    public void readNums()
    {
    	for(int i=0; i<nums.length; i++)
        {
    	   nums[i] = sc.nextInt();
        }
    }


     public void findOddEven()
    {    
        for(int i=0; i<nums.length; i++)
        {
           if(nums[i] %2 == 0)
    	   {
    	      odd[i] = nums[i];
    	   }

           else
    	   {
    	      even[i] = nums[i];
    	   }
    	}   
    }
    

Αμα δωσω το μεγεθος απ την αρχη στους πινακες odd και even δεν εχω κανενα προβλημα αλλα δεν μπορω να το κανω αυτο γιατι δεν ξερω ποσους αρτιους και ποσους περιττους θα βρω

Δημοσ.

Απλά δεν θα δουλέψεις με arrays, αλλά με lists.

Γενικώς δεν υπάρχει λόγος να μην αντικαταστησεις πλήρως και παντού τα arrays με λίστες σε java, Csharp.

Δημοσ.

Την καλησπερα μου φιλε Papakaliati και σ ευχαριστω για την απαντηση,δυστυχως δεν εχω διδαχθει ακομα lists οποτε πρεπει να το κανω με arrays,μπορεις να μου πεις πως θα το λυσω?

Δημοσ.

Την καλησπερα μου φιλε Papakaliati και σ ευχαριστω για την απαντηση,δυστυχως δεν εχω διδαχθει ακομα lists οποτε πρεπει να το κανω με arrays,μπορεις να μου πεις πως θα το λυσω?

   Υποθετωντας οτι δεν μπορεις να αλλαξεις μεγεθος στο αρραυ, ενας τροπος θα ητανε με counter να δεις ποσους αρτιους εχεις σε ποια θεση της λιστας των nums και μετα να φτιαξεις τα αρραυς μονων, ζυγων.

  • Like 1
Δημοσ.
nums = new int[sc.nextInt()];
even = new int[nums.length];
odd = new int[nums.length];

Καπως ετσι ισως;

 

Μπορεις να το κανεις και ετσι , εχοντας εναν counter για να δεις ποσα στοιχεια ειναι even, και μετα αντεγραψε τα σε δυο νεες λιστες σωστου μεγεθους.

  • Like 1
Δημοσ.

Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω?

Δημοσ.

Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω?

Αφου δεν έχεις κάνει initialize τα arrays στο πρόγραμμα σου.Αν τα κανεις δεν έχεις πρόβλημα

  • Like 1
Δημοσ.

Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω?

Οι πίνακες αρχικοποιούνται πάντα με ένα μέγεθος σε Java και C. Ειδικά σε Java πρίν βάλεις κάτι μέσα πρέπει να έχουν ήδη γίνει NEW.

  • Like 1
Δημοσ.

Οι πίνακες αρχικοποιούνται πάντα με ένα μέγεθος σε Java και C. Ειδικά σε Java πρίν βάλεις κάτι μέσα πρέπει να έχουν ήδη γίνει NEW.

   Και επιπλεον ειναι παντα fixed size, για αυτο και δεν υπαρχει ουσιαστικα λογος να δουλευεις με πινακες και σου προτεινα στην πρωτη μου απαντηση να δουλεψεις με λιστες, που τους αντικαθηστα πληρως.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...