Προγραμματιστική απορία σε Java
- necrofear_13
- Wow! Terabyte level
- Posts: 2141
- Joined: Sun Nov 18, 2007 5:32 am
- Academic status: Alumnus/a
- Gender: ♂
- Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ
Re: Προγραμματιστική απορία σε Java
Παιδια οταν βαζω classname.this τι γινεται τοτε?ολες οι απαντησεις δεκτες,
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
- netharis
- Venus Former Team Member
- Posts: 1845
- Joined: Sun Jul 15, 2007 2:37 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Seattle, Washington
- Contact:
Re: Προγραμματιστική απορία σε Java
Η τάξη σου θα πρέπει να είναι static για να κάνεις κάτι τέτοιο.necrofear_13 wrote:Παιδια οταν βαζω classname.this τι γινεται τοτε?ολες οι απαντησεις δεκτες,
Υποθέτω οτι θα σου επιστρέψει την αναφορά στην οποία στεγάστηκε το μεμονωμένο instance της στατικής τάξης σου.

Resistance is futile. Join the foss-side now!
"UNIX is very simple, it just needs a genius to understand its simplicity." - Dennis Ritchie
"The things that I want, by Max Payne. A smoke. A whiskey. For the sun to shine. I want to sleep, to forget. To change the past. Unlimited ammo and a license to kill. But right then, more than anything, I wanted her."
Re: Προγραμματιστική απορία σε Java
Νομίζω είναι λάθος neth.netharis wrote:Η τάξη σου θα πρέπει να είναι static για να κάνεις κάτι τέτοιο.necrofear_13 wrote:Παιδια οταν βαζω classname.this τι γινεται τοτε?ολες οι απαντησεις δεκτες,
Υποθέτω οτι θα σου επιστρέψει την αναφορά στην οποία στεγάστηκε το μεμονωμένο instance της στατικής τάξης σου.
Θα σου δώσω ένα παράδειγμα.
you need ActionListener ref.
Code: Select all
public class ManagementForm {
...
Button b=new Button();
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//
// this==current object ref - ActionListener.
Form form = new Form(this);
}
});
....
}
Code: Select all
public class ManagementForm {
....
Button b=new Button();
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//
// this==current object ref - ManagementForm.
Form form = new Form(ManagementForm.this);
}
});
...
}
που θα πάει θα το δουμε...
- netharis
- Venus Former Team Member
- Posts: 1845
- Joined: Sun Jul 15, 2007 2:37 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Seattle, Washington
- Contact:
Re: Προγραμματιστική απορία σε Java
Δεν νομίζω να εννοεί κάτι τέτοιο ο necrofear.
Αυτό που λες αναφέρεται σε εσωτερικές τάξεις οπου γίνεται απόκρυψη του this, και χρειάζεσαι άλλο identifier για να πάρεις το reference της εξωτερικής τάξης.
Ο necrofear εννοεί κάτι τέτοιο
και ύστερα σε μία εφαρμογή
Όντως δεν θα κάνει compile τώρα που το ξανασκέφτομαι.
Πρέπει όταν καλείς την αναφορά this να είσαι μέσα σε εμφωλευμένη τάξη.
Σωστός rose για την επισήμανση
Αυτό που λες αναφέρεται σε εσωτερικές τάξεις οπου γίνεται απόκρυψη του this, και χρειάζεσαι άλλο identifier για να πάρεις το reference της εξωτερικής τάξης.
Ο necrofear εννοεί κάτι τέτοιο
Code: Select all
class foo
{
public void print()
{
System.out.println("Hi");
}
}
Code: Select all
System.out.println(foo.this);
Πρέπει όταν καλείς την αναφορά this να είσαι μέσα σε εμφωλευμένη τάξη.
Σωστός rose για την επισήμανση


Resistance is futile. Join the foss-side now!
"UNIX is very simple, it just needs a genius to understand its simplicity." - Dennis Ritchie
"The things that I want, by Max Payne. A smoke. A whiskey. For the sun to shine. I want to sleep, to forget. To change the past. Unlimited ammo and a license to kill. But right then, more than anything, I wanted her."
- necrofear_13
- Wow! Terabyte level
- Posts: 2141
- Joined: Sun Nov 18, 2007 5:32 am
- Academic status: Alumnus/a
- Gender: ♂
- Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ
Re: Προγραμματιστική απορία σε Java
for(h=1;h<=(r-1)/9;h=3*h+1); Παιδια αυτη η εντολη τι κανει?Εννοω το ; εξω απο το for τι ακριβως κανει?
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Re: Προγραμματιστική απορία σε Java
τίποτα. το αποτέλεσμα αυτού του for είναι να αλλάξει απλά η τιμή του h
- marios
- Wow! Terabyte level
- Posts: 2810
- Joined: Wed Sep 26, 2007 3:44 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Μεταξύ φθοράς και αφθαρσίας
Re: Προγραμματιστική απορία σε Java
Αν είναι σαν το while (συνθήκη); δεν κάνει απολύτως τίποτα... Είναι σαν να έγραφες(αν επιτρεπόταν):
Code: Select all
for(h=1;h<=(r-1)/9;h=3*h+1)
{
}
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
- necrofear_13
- Wow! Terabyte level
- Posts: 2141
- Joined: Sun Nov 18, 2007 5:32 am
- Academic status: Alumnus/a
- Gender: ♂
- Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ
Re: Προγραμματιστική απορία σε Java
Ναι παιδια οντως δεν κανει κατι!!!
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
- ~~Wind~~
- Gbyte level
- Posts: 1747
- Joined: Thu Nov 30, 2006 1:07 am
- Academic status: N>4
- Gender: ♂
- Location: *void
Re: Προγραμματιστική απορία σε Java
επιτρεπεται αυτο, αλλα λιγο διαφορετικαmarios wrote:Αν είναι σαν το while (συνθήκη); δεν κάνει απολύτως τίποτα... Είναι σαν να έγραφες(αν επιτρεπόταν):
Code: Select all
for(h=1;h<=(r-1)/9;h=3*h+1) { }
Code: Select all
for(h=1; h <= (r-1)/9; h=3*h+1) {
/*do nothing - empty statement*/ ;
}


Come to foss-aueb ...we have cookies.. yamyam~nomnomnomnomnomnomnomnom
a cookie ~ I will do science to it
Re: encoding για Ελληνικά σε Java
Έχω κάποια προγραμματάκια σε Java (από συνοδευτικό cd ακαδημαϊκού μας συγγράμματος) στα οποία όμως τα text μηνύματα είναι γραμμένα με ελληνικούς χαρακτήρες στον πηγαίο κώδικα. Έτσι όταν τυπώνονται στην κονσόλα βγαίνουν ακαταλαβίστικα. Μπορώ να αλλάξω κάτι (εκτός από τον πηγαίο κώδικα
) ώστε να μπορώ να διακρίνω τι γράφει;

Είμαι ένας μοναχικός cowboy...
- ~~Wind~~
- Gbyte level
- Posts: 1747
- Joined: Thu Nov 30, 2006 1:07 am
- Academic status: N>4
- Gender: ♂
- Location: *void
Re: Προγραμματιστική απορία σε Java
Υπαρχει τροπος να ορισεις το encoding αλλα δε θυμαμαι τωρα πως. 
http://java.sun.com/j2se/1.4.2/docs/api ... tream.html
http://www.insomnia.gr/forum/showthread.php?t=123166
http://www.freestuff.gr/forums/viewtopic.php?p=200813
δοκιμασε..

http://java.sun.com/j2se/1.4.2/docs/api ... tream.html
http://www.insomnia.gr/forum/showthread.php?t=123166
http://www.freestuff.gr/forums/viewtopic.php?p=200813
δοκιμασε..



Come to foss-aueb ...we have cookies.. yamyam~nomnomnomnomnomnomnomnom
a cookie ~ I will do science to it
- netharis
- Venus Former Team Member
- Posts: 1845
- Joined: Sun Jul 15, 2007 2:37 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Seattle, Washington
- Contact:
Re: Προγραμματιστική απορία σε Java
Αν εννοείς σε command prompt:
Αλλάζεις το codepage στα ελληνικά.
Code: Select all
chcp 1253

Resistance is futile. Join the foss-side now!
"UNIX is very simple, it just needs a genius to understand its simplicity." - Dennis Ritchie
"The things that I want, by Max Payne. A smoke. A whiskey. For the sun to shine. I want to sleep, to forget. To change the past. Unlimited ammo and a license to kill. But right then, more than anything, I wanted her."
Re: Προγραμματιστική απορία σε Java
Ευχαριστώ για τα links.~~Wind~~ wrote:Υπαρχει τροπος να ορισεις το encoding αλλα δε θυμαμαι τωρα πως.
http://java.sun.com/j2se/1.4.2/docs/api ... tream.html
http://www.insomnia.gr/forum/showthread.php?t=123166
http://www.freestuff.gr/forums/viewtopic.php?p=200813
δοκιμασε..
Δυστυχώς με αυτό δε διορθώθηκε το πρόβλημα. Όπως αναφέρει κι ένα από τα links που παρέθεσε ο ~~Wind~~ σε DOS δεν υπάρχει τρόπος για να εμφανιστούν ελληνικά.netharis wrote:Αν εννοείς σε command prompt:Αλλάζεις το codepage στα ελληνικά.Code: Select all
chcp 1253
Αυτό που τελικά έκανα ήταν να πειράξω (αναγκαστικά) τον κώδικα. Όπου είχε System.err το έκανα System.out και από DOS έκανα ανακατεύθυνση σε ένα text αρχείο την εκτέλεση του προγράμματος (γιατί με το System.err δεν γίνεται ανακατεύθυνση). Εκεί εμφανίζονται κανονικά τα μηνύματα.
Είμαι ένας μοναχικός cowboy...
- ~~Wind~~
- Gbyte level
- Posts: 1747
- Joined: Thu Nov 30, 2006 1:07 am
- Academic status: N>4
- Gender: ♂
- Location: *void
Re: Προγραμματιστική απορία σε Java
Το διαβασα κι εγω αυτο Luke για το DOS, αλλα
1. Δε νομιζω οτι η cmd των windows ειναι Dos , απλα εχει καποια κοινα στοιχεια.
2. Σε Ελληνικα windows εχεις κ Ελληνικη cmd οποτε...
λιγο αβασιμο μου φαινεται ..
1. Δε νομιζω οτι η cmd των windows ειναι Dos , απλα εχει καποια κοινα στοιχεια.
2. Σε Ελληνικα windows εχεις κ Ελληνικη cmd οποτε...
λιγο αβασιμο μου φαινεται ..



Come to foss-aueb ...we have cookies.. yamyam~nomnomnomnomnomnomnomnom
a cookie ~ I will do science to it
Re: Προγραμματιστική απορία σε Java
Δεν έχω ελληνικά windows, αλλά οι ελληνικές γραμματοσειρές είναι κανονικά εγκατεστημένες.~~Wind~~ wrote: 2. Σε Ελληνικα windows εχεις κ Ελληνικη cmd οποτε...
Δεν ξέρω τι συμβαίνει, δεν τα πάω καλά με τις κωδικοποιήσεις.

[Added]
Τελικά επειδή είναι αρκετά τα αρχεία που θέλω να δοκιμάσω δεν γίνεται να κάνω την ίδια διαδικασία συνέχεια. Αν και είναι άσχετα τα περισσότερα μεταξύ τους τα έβαλα όλα σε ένα NetBeans project και παίζουν κανονικά στην κονσόλα του. Το μόνο περίεργο ότι με ένα απλό copy-paste των αρχείων δεν αναγνωρίζει τα ελληνικά στον πηγαίο κώδικα (εμφανίζει κουτάκια στη θέση τους) αλλά με copy-paste του περιεχομένου των αρχείων όλα εντάξει. Έλεος.

Είμαι ένας μοναχικός cowboy...
- ~~Wind~~
- Gbyte level
- Posts: 1747
- Joined: Thu Nov 30, 2006 1:07 am
- Academic status: N>4
- Gender: ♂
- Location: *void
Re: Προγραμματιστική απορία σε Java
NetBeans κ ξερό ψωμι. Παλευετε με τα συνεχομενα compile σε καθε save στο eclipse οι υπολοιποι..

- Spoiler: εμφάνιση/απόκρυψη


Come to foss-aueb ...we have cookies.. yamyam~nomnomnomnomnomnomnomnom
a cookie ~ I will do science to it
-
- Venus Former Team Member
- Posts: 7561
- Joined: Thu Oct 27, 2005 1:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Boston, MA
Re: Προγραμματιστική απορία σε Java
υπάρχει ένα checkbox για αυτό. Γιατί το eclipse δουλεύει τόσο στους luxάτους τύπους, όσο και στους ταπεινούς developers. και δεν σου γεμίζει το profile Κάθε φορά που τολμήσεις να το ανοίξεις ..~~Wind~~ wrote:Παλευετε με τα συνεχομενα compile σε καθε save στο eclipse οι υπολοιποι

- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Προγραμματιστική απορία σε Java
Code: Select all
tokenizer.ordinaryChar('+');
tokenizer.ordinaryChar('-');
tokenizer.ordinaryChar('*');
tokenizer.ordinaryChar('/');
while (tokenizer.nextToken() != StreamTokenizer.TT_EOF) {
switch (tokenizer.ttype) {
case StreamTokenizer.TT_WORD:
System.out.println(tokenizer.sval);
break;
case StreamTokenizer.TT_NUMBER:
System.out.println(tokenizer.nval);
break;
default:
System.out.println(tokenizer.ttype);
}
}
--------------------------------------------------------------------------------------------------------------------------------
Η λύση είναι
Code: Select all
switch (tokenizer.ttype)
{
case StreamTokenizer.TT_NUMBER:
System.out.println(tokenizer.nval);
break;
default :
System.out.println((char)tokenizer.ttype);
break;
}//switch
Re: Προγραμματιστική απορία σε Java
Το είδα αργά proskope δυστυχώς και πρόλαβες να βρεις τη λύση μόνος σου!
Επειδή τα +,-.. είναι char(και όχι string), δεν έχουν ttype = tt_word... Ξενέρωσα κι εγώ όταν μου το πανε, είχα φάει ώρες να παιδεύομαι 


Le vent nous portera...
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Προγραμματιστική απορία σε Java
Code: Select all
switch (tokenizer.ttype)
{
case StreamTokenizer.TT_NUMBER:
System.out.println((int)tokenizer.nval);
break;
default:
if ((tokenizer.sval).equalsIgnoreCase("x"))
{
System.out.println(tokenizer.sval);
}
else
{
System.out.println("bla");
System.out.println(tokenizer.sval);
}
break;
Code: Select all
Exception in thread "main" java.lang.NullPointerException
at DerivativeCalculator.DerivativeCalculator.createExpressionTree(DerivativeCalculator.java:158)
at DerivativeCalculator.DerivativeCalculator.main(DerivativeCalculator.java:225)
Code: Select all
if ((tokenizer.sval).equalsIgnoreCase("x"))
Code: Select all
base = createExpressionTree ((String)postfixExp);
----------------------------------------------ΑΠΑΝΤΗΣΗ-------------------------------------------------------
Code: Select all
switch (tokenizer.ttype)
{
case StreamTokenizer.TT_NUMBER:
System.out.println((int)tokenizer.nval);
break;
default:
if(((char)tokenizer.ttype) == 'x' || ((char)tokenizer.ttype) == 'X')
{
System.out.println((char)tokenizer.ttype);
}
else
{
System.out.println((char)tokenizer.ttype);
}
Για να μην πάρω τσάμπα δόξα... Credits to Netharris.....

- emperormario
- Wow! Terabyte level
- Posts: 2569
- Joined: Fri Jun 15, 2007 12:30 pm
- Gender: ♂
- Location: Over the hills and far away..
Re: Προγραμματιστική απορία σε Java
Thnx!! Και εγώ είχα ψιλοκολλήσει σαυτό
Don't drink and drive. You might spill your drink :b-The Snake
- Spoiler: εμφάνιση/απόκρυψη
- Spoiler: εμφάνιση/απόκρυψη
- S.a.kiss.007
- Mbyte level
- Posts: 659
- Joined: Wed Nov 28, 2007 2:24 am
- Academic status: 4th year
- Gender: ♂
- Location: Κρήτη (πνευματικά...)
- Contact:
Re: Προγραμματιστική απορία σε Java
Βασικά η ερώτησή μου είναι περισσότερο αλγοριθμική, αλλά μιας και γράφω σε java, είπα να το βάλω εδώ...
(κοι Mods, Admins αν θέλετε μετακινείστε το όπου ταιριάζει περισσότερο...
)
Λοιπόν, έχω ένα πίνακα με θετικούς αριθμούς int και θέλω να βρω τους Ν μεγαλύτερους (προφανώς Ν <= array.length).
Η προφανής λύση είναι με ένα for για Ν φορές να βρίσκω σε κάθε βήμα τον μεγαλύτερο (με ακόμα ένα for γραμμικά) και στον τέλος να τον μηδενίζω, ώστε να μην επηρεάσει την επόμενη εύρεση...
Αλλά δεν μου φαίνεται και ο πιο γρήγορος-αποδοτικός (αν δεν είναι ο χειρότερος!!!
)...
Έχετε να προτείνετε κάποιο πιο γρήγορο τρόπο?
Προσπαθώ να θυμηθώ κάτι από Δομές, αλλά δνε μου βγαίνει... Και οι ουρές προτεραιότητας κάτι τέτοιο κάνουν....
Υποψιάζομαι heapsort και σορούς... Αλλά δεν τα είπαμε πολύ καλά.. Αν μου τα εξηγήσει κάποιος....
(κοι Mods, Admins αν θέλετε μετακινείστε το όπου ταιριάζει περισσότερο...

Λοιπόν, έχω ένα πίνακα με θετικούς αριθμούς int και θέλω να βρω τους Ν μεγαλύτερους (προφανώς Ν <= array.length).
Η προφανής λύση είναι με ένα for για Ν φορές να βρίσκω σε κάθε βήμα τον μεγαλύτερο (με ακόμα ένα for γραμμικά) και στον τέλος να τον μηδενίζω, ώστε να μην επηρεάσει την επόμενη εύρεση...
Αλλά δεν μου φαίνεται και ο πιο γρήγορος-αποδοτικός (αν δεν είναι ο χειρότερος!!!

Έχετε να προτείνετε κάποιο πιο γρήγορο τρόπο?
Προσπαθώ να θυμηθώ κάτι από Δομές, αλλά δνε μου βγαίνει... Και οι ουρές προτεραιότητας κάτι τέτοιο κάνουν....
Υποψιάζομαι heapsort και σορούς... Αλλά δεν τα είπαμε πολύ καλά.. Αν μου τα εξηγήσει κάποιος....
