bazinga13 Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Καλησπερα παιδια,μια ερωτησουλα για ενα θεμα με πινακες.Θελω να δινω αριθμους ακεραιους σ εναν πινακα και μετα ν αποθηκευσω τους αρτιους και τους περιττους που θα βρω σ εναν διαφορετικο πινακα το καθενα.Ξερω που κανω λαθος αλλα κατι μου διαφευγει 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 δεν εχω κανενα προβλημα αλλα δεν μπορω να το κανω αυτο γιατι δεν ξερω ποσους αρτιους και ποσους περιττους θα βρω
Papakaliati Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Απλά δεν θα δουλέψεις με arrays, αλλά με lists. Γενικώς δεν υπάρχει λόγος να μην αντικαταστησεις πλήρως και παντού τα arrays με λίστες σε java, Csharp.
bazinga13 Δημοσ. 1 Μαρτίου 2015 Μέλος Δημοσ. 1 Μαρτίου 2015 Την καλησπερα μου φιλε Papakaliati και σ ευχαριστω για την απαντηση,δυστυχως δεν εχω διδαχθει ακομα lists οποτε πρεπει να το κανω με arrays,μπορεις να μου πεις πως θα το λυσω?
Papakaliati Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Την καλησπερα μου φιλε Papakaliati και σ ευχαριστω για την απαντηση,δυστυχως δεν εχω διδαχθει ακομα lists οποτε πρεπει να το κανω με arrays,μπορεις να μου πεις πως θα το λυσω? Υποθετωντας οτι δεν μπορεις να αλλαξεις μεγεθος στο αρραυ, ενας τροπος θα ητανε με counter να δεις ποσους αρτιους εχεις σε ποια θεση της λιστας των nums και μετα να φτιαξεις τα αρραυς μονων, ζυγων. 1
nilosgr Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 nums = new int[sc.nextInt()]; even = new int[nums.length]; odd = new int[nums.length]; Καπως ετσι ισως; 1
Papakaliati Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 nums = new int[sc.nextInt()]; even = new int[nums.length]; odd = new int[nums.length]; Καπως ετσι ισως; Μπορεις να το κανεις και ετσι , εχοντας εναν counter για να δεις ποσα στοιχεια ειναι even, και μετα αντεγραψε τα σε δυο νεες λιστες σωστου μεγεθους. 1
bazinga13 Δημοσ. 1 Μαρτίου 2015 Μέλος Δημοσ. 1 Μαρτίου 2015 Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω?
Aztec Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω? Αφου δεν έχεις κάνει initialize τα arrays στο πρόγραμμα σου.Αν τα κανεις δεν έχεις πρόβλημα 1
PC_MAGAS Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Γιατι ομως οταν δωσω το μεγεθος του πινακα π.χ int[] odd = new int[4] δεν μου βγαζει errors?τι λαθος παιζει εδω? Οι πίνακες αρχικοποιούνται πάντα με ένα μέγεθος σε Java και C. Ειδικά σε Java πρίν βάλεις κάτι μέσα πρέπει να έχουν ήδη γίνει NEW. 1
Papakaliati Δημοσ. 1 Μαρτίου 2015 Δημοσ. 1 Μαρτίου 2015 Οι πίνακες αρχικοποιούνται πάντα με ένα μέγεθος σε Java και C. Ειδικά σε Java πρίν βάλεις κάτι μέσα πρέπει να έχουν ήδη γίνει NEW. Και επιπλεον ειναι παντα fixed size, για αυτο και δεν υπαρχει ουσιαστικα λογος να δουλευεις με πινακες και σου προτεινα στην πρωτη μου απαντηση να δουλεψεις με λιστες, που τους αντικαθηστα πληρως. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα