απορια σε java

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
Scorpion311
Kilobyte level
Kilobyte level
Posts: 379
Joined: Sat Jun 06, 2009 12:11 pm
Academic status: 4th year
Gender:

Re: απορια σε java

Post by Scorpion311 » Fri Oct 22, 2010 7:48 pm

υπαρχει τροπος να καλεσω μεθοδο απο αλλη κλαση,χωρις ομως να φτιαχω αντικειμενο της?
User avatar
Loner
Venus Former Team Member
Posts: 4004
Joined: Fri Oct 26, 2007 11:08 pm
Academic status: N>4
Gender:
Location: Στη ρωγμή του χρόνου

Re: απορια σε java

Post by Loner » Fri Oct 22, 2010 8:04 pm

Scorpion311 wrote:υπαρχει τροπος να καλεσω μεθοδο απο αλλη κλαση,χωρις ομως να φτιαχω αντικειμενο της?
μόνο αν είναι static η μέθοδος
You either die a Spongebob or live long enough to see yourself become the Squidward.
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: απορια σε java

Post by stoupeace » Sat Oct 23, 2010 8:18 pm

Loner wrote:
Scorpion311 wrote:υπαρχει τροπος να καλεσω μεθοδο απο αλλη κλαση,χωρις ομως να φτιαχω αντικειμενο της?
μόνο αν είναι static η μέθοδος
και public ή υπάρχει κληρονομικότητα. Νιανια.
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
Kostas1601
Mbyte level
Mbyte level
Posts: 695
Joined: Sat Aug 29, 2009 12:30 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by Kostas1601 » Wed Nov 10, 2010 1:31 pm

Μια απορία java φύσεως παιδιά, πρέπει να υλοποιήσουμε μια μέθοδο pop() για μια CharStack καλούμε την RemoveFromFront() για την συνδεδεμένη λίστα μας, η οποία επιστρέφει ένα αντικείμενο τύπου Object..
όταν βάζουμε το return statement στην pop() δέν δέχεται την επιστροφή Object (η pop() πρέπει να επιστρέψει char)
Και δέν δουλεύει το καλούπωμα σε char..δέν μπορούμε να μετατρέψουμε το επεστρεφόμενο αντικείμενο σε char...

το παράδοξο είναι οτι στην push() καλούμε την insertAtFront(Object a) της List με όρισμα τύπου char και δέν υπάρχει κανένα πρόβλημα...

Κάτι σχετικό με τον πολυμορφισμό πρέπει να μου ξεφεύγει...
Ευχαριστώ..
Last edited by Kostas1601 on Wed Nov 10, 2010 1:40 pm, edited 1 time in total.
~Yesterday is History, Tommorow's a Mystery...But Today is a Gift...And That's Why They Call It Present ;)~
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: απορια σε java

Post by stoupeace » Wed Nov 10, 2010 1:36 pm

Kostas1601 wrote:Μια απορία java φύσεως παιδιά, πρέπει να υλοποιήσουμε μια μέθοδο pop() για μια CharStack καλούμε την insertAtFront() για την συνδεδεμένη λίστα μας, η οποία επιστρέφει ένα αντικείμενο τύπου Object..
όταν βάζουμε το return statement στην pop() δέν δέχεται την επιστροφή Object (η pop() πρέπει να επιστρέψει char)
Και δέν δουλεύει το καλούπωμα σε char..δέν μπορούμε να μετατρέψουμε το επεστρεφόμενο αντικείμενο σε char...

το παράδοξο είναι οτι στην push() καλούμε την insertAtFront(Object a) της List με όρισμα τύπου char και δέν υπάρχει κανένα πρόβλημα...

Κάτι σχετικό με τον πολυμορφισμό πρέπει να μου ξεφεύγει...
Ευχαριστώ..
Γιατί η insertAtFront() να επιστρέφει αντικείμενο? Μήπως εννοείς ότι παίρνει όρισμα ένα αντικείμενο? Πιο λογικό μου ακούγεται να επιστρέφει boolean ξερω γω (επιτυχία εισαγωγής).

Για γράψε λίγο τον ορισμό και των δύο :)
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
Kostas1601
Mbyte level
Mbyte level
Posts: 695
Joined: Sat Aug 29, 2009 12:30 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by Kostas1601 » Wed Nov 10, 2010 1:41 pm

stoupeace wrote:
Kostas1601 wrote:Μια απορία java φύσεως παιδιά, πρέπει να υλοποιήσουμε μια μέθοδο pop() για μια CharStack καλούμε την insertAtFront() για την συνδεδεμένη λίστα μας, η οποία επιστρέφει ένα αντικείμενο τύπου Object..
όταν βάζουμε το return statement στην pop() δέν δέχεται την επιστροφή Object (η pop() πρέπει να επιστρέψει char)
Και δέν δουλεύει το καλούπωμα σε char..δέν μπορούμε να μετατρέψουμε το επεστρεφόμενο αντικείμενο σε char...

το παράδοξο είναι οτι στην push() καλούμε την insertAtFront(Object a) της List με όρισμα τύπου char και δέν υπάρχει κανένα πρόβλημα...

Κάτι σχετικό με τον πολυμορφισμό πρέπει να μου ξεφεύγει...
Ευχαριστώ..
Γιατί η insertAtFront() να επιστρέφει αντικείμενο? Μήπως εννοείς ότι παίρνει όρισμα ένα αντικείμενο? Πιο λογικό μου ακούγεται να επιστρέφει boolean ξερω γω (επιτυχία εισαγωγής).

Για γράψε λίγο τον ορισμό και των δύο :)
Συγγνόμη λάθος..
Η insertAtFront(Object b) είναι void...
Η removeFromFront() επιστρέφει Object..
Spoiler: εμφάνιση/απόκρυψη
[code]public void insertAtFront( Object insertItem ) { ListNode node = new ListNode( insertItem ); if ( isEmpty() ) // firstNode and lastNode refer to same object firstNode = lastNode = node; else { // firstNode refers to new node node.nextNode = firstNode; firstNode = node; //you can replace the two previous lines with this line: firstNode = new ListNode( insertItem, firstNode ); } } // end method insertAtFront[/code]
Spoiler: εμφάνιση/απόκρυψη
[code]public Object removeFromFront() throws EmptyListException { if ( isEmpty() ) // throw exception if List is empty throw new EmptyListException( name ); Object removedItem = firstNode.data; // retrieve data being removed // update references firstNode and lastNode if ( firstNode == lastNode ) firstNode = lastNode = null; else firstNode = firstNode.nextNode; return removedItem; // return removed node data } // end method removeFromFront[/code]
~Yesterday is History, Tommorow's a Mystery...But Today is a Gift...And That's Why They Call It Present ;)~
User avatar
abujafar
Mbyte level
Mbyte level
Posts: 651
Joined: Wed Dec 03, 2008 2:49 am
Academic status: Alumnus/a
Gender:
Location: Marmaras

Re: απορια σε java

Post by abujafar » Wed Nov 10, 2010 1:41 pm

Kostas1601 wrote:Μια απορία java φύσεως παιδιά, πρέπει να υλοποιήσουμε μια μέθοδο pop() για μια CharStack καλούμε την insertAtFront() για την συνδεδεμένη λίστα μας, η οποία επιστρέφει ένα αντικείμενο τύπου Object..
όταν βάζουμε το return statement στην pop() δέν δέχεται την επιστροφή Object (η pop() πρέπει να επιστρέψει char)
Και δέν δουλεύει το καλούπωμα σε char..δέν μπορούμε να μετατρέψουμε το επεστρεφόμενο αντικείμενο σε char...

το παράδοξο είναι οτι στην push() καλούμε την insertAtFront(Object a) της List με όρισμα τύπου char και δέν υπάρχει κανένα πρόβλημα...

Κάτι σχετικό με τον πολυμορφισμό πρέπει να μου ξεφεύγει...
Ευχαριστώ..
Πρεπει να χρησιμοποιησεις wrapper Class, την Character δηλαδη ωστε να παρεις ενα αντικειμενο Character πισω και μετα να παρεις την char τιμη του.
Btw, για pop() θα κανεις remove οχι insert.Μαλλον σου ξεφυγε εδω στο ποστ.
User avatar
Kostas1601
Mbyte level
Mbyte level
Posts: 695
Joined: Sat Aug 29, 2009 12:30 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by Kostas1601 » Wed Nov 10, 2010 1:45 pm

abujafar wrote:
Kostas1601 wrote:Μια απορία java φύσεως παιδιά, πρέπει να υλοποιήσουμε μια μέθοδο pop() για μια CharStack καλούμε την insertAtFront() για την συνδεδεμένη λίστα μας, η οποία επιστρέφει ένα αντικείμενο τύπου Object..
όταν βάζουμε το return statement στην pop() δέν δέχεται την επιστροφή Object (η pop() πρέπει να επιστρέψει char)
Και δέν δουλεύει το καλούπωμα σε char..δέν μπορούμε να μετατρέψουμε το επεστρεφόμενο αντικείμενο σε char...

το παράδοξο είναι οτι στην push() καλούμε την insertAtFront(Object a) της List με όρισμα τύπου char και δέν υπάρχει κανένα πρόβλημα...

Κάτι σχετικό με τον πολυμορφισμό πρέπει να μου ξεφεύγει...
Ευχαριστώ..
Πρεπει να χρησιμοποιησεις wrapper Class, την Character δηλαδη ωστε να παρεις ενα αντικειμενο Character πισω και μετα να παρεις την char τιμη του.
Btw, για pop() θα κανεις remove οχι insert.Μαλλον σου ξεφυγε εδω στο ποστ.
Ναι remove εννοούσα το άλλαξα
...Ευχαριστώ πολλύ that did the trick!!!! :smt023
Γιαί όμως σάν όρισμα στην insertAtFront(Object b) μπαίνει απευθείας char χωρίς πρόβλημα??... :smt017
~Yesterday is History, Tommorow's a Mystery...But Today is a Gift...And That's Why They Call It Present ;)~
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: απορια σε java

Post by stoupeace » Wed Nov 10, 2010 1:47 pm

Kostas1601 wrote:Γιαί όμως σάν όρισμα στην insertAtFront(Object b) μπαίνει απευθείας char χωρίς πρόβλημα??... :smt017
Οταν εχεις όρισμα Object μπορει να μπει οτιδηποτε στη θεση του, ειναι η μαμά class

Mε αλλα λογια το char ειναι Object, το Object πρεπει να το καστάρεις σε (Character) οπως ειπε ο abu
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
abujafar
Mbyte level
Mbyte level
Posts: 651
Joined: Wed Dec 03, 2008 2:49 am
Academic status: Alumnus/a
Gender:
Location: Marmaras

Re: απορια σε java

Post by abujafar » Wed Nov 10, 2010 1:50 pm

Kostas1601 wrote: Γιαί όμως σάν όρισμα στην insertAtFront(Object b) μπαίνει απευθείας char χωρίς πρόβλημα??... :smt017
Γιατι κανει autoboxing απο μονη της η Java και το βαζει.
User avatar
cyberpython
Mbyte level
Mbyte level
Posts: 654
Joined: Wed Nov 21, 2007 8:18 pm
Academic status: Alumnus/a
Gender:
Location: Αθηνα
Contact:

Re: απορια σε java

Post by cyberpython » Wed Nov 10, 2010 5:37 pm

abujafar wrote:
Kostas1601 wrote: Γιαί όμως σάν όρισμα στην insertAtFront(Object b) μπαίνει απευθείας char χωρίς πρόβλημα??... :smt017
Γιατι κανει autoboxing απο μονη της η Java και το βαζει.
Από την έκδοση 5 και έπειτα (προσοχή γιατί μερικά συστήματα - π.χ. Δίας - τρέχουν πολύ παλαιότερες εκδόσεις).
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Re: απορια σε java

Post by tsilochr » Thu Nov 11, 2010 5:52 pm

abujafar wrote:
Kostas1601 wrote: Γιαί όμως σάν όρισμα στην insertAtFront(Object b) μπαίνει απευθείας char χωρίς πρόβλημα??... :smt017
Γιατι κανει autoboxing απο μονη της η Java και το βαζει.
Αυτό είναι ένα πάρα πολύ κακό χαρακτηριστικό της γλώσσας που μπορεί να δημιουργήσει πολλά κουλά προβλήματα αν δεν ξέρεις 100% τι προγραμματίζεις. Έχει μερικά εδώ
http://video.google.com/videoplay?docid ... 5401838409#

Σε πρώτη φάση αφιέρωσε χρόνο να δεις τα generics.
User avatar
Kostas1601
Mbyte level
Mbyte level
Posts: 695
Joined: Sat Aug 29, 2009 12:30 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by Kostas1601 » Wed Nov 24, 2010 12:24 am

Παιδιά, αντιμετόπισα το εξής τελείως παράξενο πρόβλημα :
έχω μια for η οποία όσο επαναλαμβάνεται εκτυπώνει ένα μύνημα και δέχεται μια τιμή μεσω Scanner ...στην τελευτάια input απλά δέν εμφανίζεται κέρσορας για input string...δέν μπορώ να καταλάβω γιατι...
Εάν γράψω μία ακόμα ακριβώς ίδια εντολή , δέν θα δουλέψει στην πρώτη, αλλα στην δεύτερη θα δουλέψει κανονικά....
ο κώδικας είναι ο εξής :

Code: Select all

System.out.println("Parakalw eisagete to onoma tou foithth:");
                    eisagwgh = input.nextLine();


                    System.out.println("Parakalw eisagete ton ari8mo mhtrwou tou foithth:");
                    ari8mos = input.nextInt();
                    String ari8mos1 = Integer.toString(ari8mos);


                    System.out.println("Parakalw eisagete to ba8mo tou foithth sto ma8hma:");
               int ba8mos = input.nextInt();
                    String ba8mos1 = Integer.toString(ba8mos);

                    
                 System.out.println("thelete na synexisete thn eisagwgh stoixeiwn?");
                 String yo = input.nextLine(); // <-----AYTH DEN DOYLEUEI.....
                 System.out.println("thelete na synexisete thn eisagwgh stoixeiwn?");
                 String yoz = input.nextLine(); //<------AUTH DOYLEUEI KANONIKA...... Alla mono ean mpei meta apo thn prohgoumenh...
:smt017 :smt017
~Yesterday is History, Tommorow's a Mystery...But Today is a Gift...And That's Why They Call It Present ;)~
User avatar
Loner
Venus Former Team Member
Posts: 4004
Joined: Fri Oct 26, 2007 11:08 pm
Academic status: N>4
Gender:
Location: Στη ρωγμή του χρόνου

Re: απορια σε java

Post by Loner » Wed Nov 24, 2010 12:53 am

Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.
Since this method continues to search through the input looking for a line separator, it may buffer all of the input searching for the line to skip if no line separators are present.
οπότε μάλλον κάτι παίζει με τα lines...Αν το argument που δίνεις από το πληκτρολόγιο είναι μία λέξη (ένα token) μπορείς να χρησιμοποιήσεις την next(); αντί για την nextLine();
You either die a Spongebob or live long enough to see yourself become the Squidward.
User avatar
Kostas1601
Mbyte level
Mbyte level
Posts: 695
Joined: Sat Aug 29, 2009 12:30 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by Kostas1601 » Wed Nov 24, 2010 1:05 am

Loner wrote:
Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.
Since this method continues to search through the input looking for a line separator, it may buffer all of the input searching for the line to skip if no line separators are present.
οπότε μάλλον κάτι παίζει με τα lines...Αν το argument που δίνεις από το πληκτρολόγιο είναι μία λέξη (ένα token) μπορείς να χρησιμοποιήσεις την next(); αντί για την nextLine();
Ευχαριστώ πολλύ....δέν θα το έβρισκα με τίποτα...Να σαι καλα :smt023 :smt023
~Yesterday is History, Tommorow's a Mystery...But Today is a Gift...And That's Why They Call It Present ;)~
User avatar
abujafar
Mbyte level
Mbyte level
Posts: 651
Joined: Wed Dec 03, 2008 2:49 am
Academic status: Alumnus/a
Gender:
Location: Marmaras

Re: απορια σε java

Post by abujafar » Wed Nov 24, 2010 1:29 am

Kostas1601 wrote:
Loner wrote:
Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.
Since this method continues to search through the input looking for a line separator, it may buffer all of the input searching for the line to skip if no line separators are present.
οπότε μάλλον κάτι παίζει με τα lines...Αν το argument που δίνεις από το πληκτρολόγιο είναι μία λέξη (ένα token) μπορείς να χρησιμοποιήσεις την next(); αντί για την nextLine();
Ευχαριστώ πολλύ....δέν θα το έβρισκα με τίποτα...Να σαι καλα :smt023 :smt023
Νομιζω μπορεις επισης να βαζεις ενα nextLine() μονο του πριν τελειωσει το for για να καθαριζει ο buffer και θα σου δουλευει κομπλε.
Δεν ειμαι 100% σιγουρος, κατα 90%.
User avatar
Scorpion311
Kilobyte level
Kilobyte level
Posts: 379
Joined: Sat Jun 06, 2009 12:11 pm
Academic status: 4th year
Gender:

Re: απορια σε java

Post by Scorpion311 » Fri Nov 26, 2010 7:30 pm

λοιπον, οριζω εναν πινακα 2 διαστ εστω α[][] που εχει μεσα object, μετα οριζω συναρτηση εστω public void omg(Object [][] b),οταν την καλω omg(a)οτι επεξεργασια και να κανω στον b την παθενει και ο α...ειναι λογικο αυτο???εχω χαθει :???: :???: :???:
User avatar
Master_ex
Mbyte level
Mbyte level
Posts: 991
Joined: Tue Nov 06, 2007 11:11 pm
Academic status: N>4
Gender:

Re: απορια σε java

Post by Master_ex » Fri Nov 26, 2010 7:40 pm

Scorpion311 wrote:λοιπον, οριζω εναν πινακα 2 διαστ εστω α[][] που εχει μεσα object, μετα οριζω συναρτηση εστω public void omg(Object [][] b),οταν την καλω omg(a)οτι επεξεργασια και να κανω στον b την παθενει και ο α...ειναι λογικο αυτο???εχω χαθει :???: :???: :???:
http://www.yoda.arachsys.com/java/passing.html
http://foss.aueb.gr the penguin strikes back <(' ) | channel #foss-aueb @ irc.freenode.net
Image Play and help!
Feth
Kilobyte level
Kilobyte level
Posts: 263
Joined: Fri Apr 24, 2009 5:51 pm
Academic status: 4th year
Gender:
Location: Γλυφάδα, Αθήνα
Contact:

Re: απορια σε java

Post by Feth » Fri Nov 26, 2010 7:48 pm

Scorpion311 wrote:λοιπον, οριζω εναν πινακα 2 διαστ εστω α[][] που εχει μεσα object, μετα οριζω συναρτηση εστω public void omg(Object [][] b),οταν την καλω omg(a)οτι επεξεργασια και να κανω στον b την παθενει και ο α...ειναι λογικο αυτο???εχω χαθει :???: :???: :???:
Κάνε post τον κώδικά σου. Σύμφωνα με τα όσα λες έχεις:

Code: Select all

public static void main(String[] args)
{
      Object a[][] = new Object[m][n];
      omg(a);
}

....

public static void omg(Object[][] b)
{
       ....
}
Η omg παίρνει ως όρισμα έναν πίνακα Object[][] με όνομα b. To b σαν όνομα το βλέπει μόνο ο κώδικας στην υλοποίηση της συνάρτησης. Όταν εσύ καλείς την omg() και δίνεις σαν όρισμα τον πίνακα a[][], ό,τι επεξεργασία έχεις δηλώσει στην υλοποίηση της συνάρτησης θα γίνει πάνω στον πίνακα a[][]. Πίνακας b[][] δεν υπάρχει στην εκτέλεση, το b είναι απλά ένα όνομα παραμέτρου/ορίσματος που χρησιμοποιείς για την υλοποίηση της συνάρτησής σου (που είναι εντελώς ξεχωριστή από τη main).

Με λίγα λόγια, το πρόγραμμά σου αυτή τη στιγμή τρέχει όπως θα έπρεπε να τρέχει. Εσύ τι ακριβώς θες να κάνεις?
Image
Facebook Profile
God is Real, unless declared Integer.
User avatar
Scorpion311
Kilobyte level
Kilobyte level
Posts: 379
Joined: Sat Jun 06, 2009 12:11 pm
Academic status: 4th year
Gender:

Re: απορια σε java

Post by Scorpion311 » Fri Nov 26, 2010 7:58 pm

εγω θελω να κανω κατι στον b χωρις να αλλαξει ο a. θελω να αλλαξω μια τιμη να υπολογισω κατι και να γυρισω στην αρχικη κατασταση χωρις να εχει γινει καποια αλλαγη...γινεται αυτο?
Feth
Kilobyte level
Kilobyte level
Posts: 263
Joined: Fri Apr 24, 2009 5:51 pm
Academic status: 4th year
Gender:
Location: Γλυφάδα, Αθήνα
Contact:

Re: απορια σε java

Post by Feth » Fri Nov 26, 2010 8:09 pm

Scorpion311 wrote:εγω θελω να κανω κατι στον b χωρις να αλλαξει ο a. θελω να αλλαξω μια τιμη να υπολογισω κατι και να γυρισω στην αρχικη κατασταση χωρις να εχει γινει καποια αλλαγη...γινεται αυτο?
Τα αντικείμενα στη Java by default περνιούνται by Reference (άρα οι τιμές των μεταβλητών τους αλλάζουν όταν τις πειράζεις σε μία συνάρτηση). Αν δεν θες να αλλάξουν, πολύ απλά θα περάσεις τις τιμές που θες (του αντικειμένου) σε κάποιες άλλες τοπικές μεταβλητές μέσα στη συνάρτηση και θα κάνεις τον υπολογισμό σου με αυτές.
Image
Facebook Profile
God is Real, unless declared Integer.
User avatar
Scorpion311
Kilobyte level
Kilobyte level
Posts: 379
Joined: Sat Jun 06, 2009 12:11 pm
Academic status: 4th year
Gender:

Re: απορια σε java

Post by Scorpion311 » Fri Nov 26, 2010 8:18 pm

Feth wrote:
Scorpion311 wrote:εγω θελω να κανω κατι στον b χωρις να αλλαξει ο a. θελω να αλλαξω μια τιμη να υπολογισω κατι και να γυρισω στην αρχικη κατασταση χωρις να εχει γινει καποια αλλαγη...γινεται αυτο?
Τα αντικείμενα στη Java by default περνιούνται by Reference (άρα οι τιμές των μεταβλητών τους αλλάζουν όταν τις πειράζεις σε μία συνάρτηση). Αν δεν θες να αλλάξουν, πολύ απλά θα περάσεις τις τιμές που θες (του αντικειμένου) σε κάποιες άλλες τοπικές μεταβλητές μέσα στη συνάρτηση και θα κάνεις τον υπολογισμό σου με αυτές.
το προβλημα ειναι τα αντικειμενα, ετσι? αν εγω φτιαξω εναν πινακα ιδιων διαστασεων και περιεχει τις int μεταβλητες των αντηικειμενων που με ενδιαφερουν και χρησιμοποιω αυτο αντι τα objects, τοτε απο κληση σε κληση της συναρτησης θα αλλαζουν μονο τοπικα και οχι και τα προηγουμενα ετσι?
Post Reply

Return to “Προγραμματισμός”