Τα πάντα για την java

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Απορίες σε java

Δημοσίευσηαπό alkismavridis » 05 Φεβ 2012, 20:31

Ναι αλλά στο συγκεκριμένο παράδειγμα (αν θυμάμαι καλά) είναι και η μεταβλητή και οι μέθοδοι public, οπότε όντως είναι λίγο ανώφελο.. Αν η μεταβλητή είναι private τότε έχει μεγάλο νόημα, ειδικά η μέθοδος set, γιατί μπορείς να "απαγορεύεις" κάποιες τιμές, ή να εκτελείς άλλες εργασιές όταν ο χρήστης αλλάξει την μεταβλητή! Πχ:
Κώδικας: Επιλογή όλων
public class Square {

private boolean mystiko=false;
private double pleura=5, embadon=25;

public double getPleura() {
if (!mystiko) {return pleura;}
else {
System.out.print("δε σου λέω!\n");
return 0;
}//αν δε θέλουμε ο χρήστης να ξέρει, για οποιονδήποτε λόγο!
}//getPleura

public void setPleura(double p) {
if(p<0) {
System.out.print("αυτά δε γίνονται! δώσε μη αρνητικό αριθμό...\n");
return;
}//if
pleura=p;
embadon =p*p;// <--- αυτό δε θα μπορούσε να γίνει αν η μεταβλητή ήταν public
//και ο χρήστης της κλάσσης μας πατούσε απλώς sq.pleura=6; Το εμβαδό θα παρέμενε 25...
}//setPleura

public double getEmbadon() {return embadon;}
}//class Square

Ελπίζω να ήμουν κατατοπιστικός :-)
Γνώσεις ⇛ Linux: Μέτριο┃ Προγραμματισμός: Java, Assembly, Fortran, μαθαίνω C/X11┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 14.04 64-bit ┃ Τρόπος εγκατάστασης: Live USB
Προδιαγραφές ⇛ Desktop: Intel i5 2320 3.00GHz.┃ MotherBoard: Asus p8h61 -m pro
Προδιαγραφές ⇛ RAM: 4GB ┃ Τροφοδοτικό Corsair CX430

GPU: Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: 0b05:1723 ASUS WL-167G v2 802.11g Adapter [Ralink RT2571W]
Οθόνη Schaub Lorenz (Tv)
alkismavridis
punkTUX
punkTUX
 
Δημοσιεύσεις: 273
Εγγραφή: 18 Μαρ 2009, 18:46
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 08 Φεβ 2012, 12:43

alkismavridis έγραψε:στο συγκεκριμένο παράδειγμα (αν θυμάμαι καλά) είναι και η μεταβλητή και οι μέθοδοι public

Δεν είναι το είχα αλλάξει.
Πολύ σωστά αυτά που λές.

giannosfor έγραψε:
Κώδικας: Επιλογή όλων
    public class Examples2
    {
            private String name,surname;

            public Examples2() {
                    this("John","Doe");
            }

            public Examples2( String nm , String srnm ) {
                    name = nm;
                    surname = srnm;
            }

            public String getName() {
                    return name;   
            }

            public String getSurname() {
                    return surname;
            }

            public String toString() {
                    return getName() + " " + getSurname();
            }

        public static void main(String args[])
        {
           Examples2 costum = new Examples2("Giwrgos","Nikou");
           Examples2 none  = new Examples2();

           System.out.println(costum);
           System.out.println(none);
        }
    }

1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 14 Φεβ 2012, 14:11

Τι έγινε παιδιά πέθανε αυτό το thread;

Οκ να βάλω εγώ μία ιδέα.
Τι θα λέγατε όλοι όσοι είναι φίλοι το προγραμματισμού σε Java να προτείνουμε ένα project και να το υλοποιήσουμε.

Θα μπορούσε να είναι κάτι απλό για αρχή.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό pc_magas » 14 Φεβ 2012, 17:18

Έχω ήδη κάνει ένα και θέλω developers:
http://sourceforge.net/projects/guma-efs/
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 14 Φεβ 2012, 18:47

giannosfor έγραψε:Τι έγινε παιδιά πέθανε αυτό το thread;

Οκ να βάλω εγώ μία ιδέα.
Τι θα λέγατε όλοι όσοι είναι φίλοι το προγραμματισμού σε Java να προτείνουμε ένα project και να το υλοποιήσουμε.

Θα μπορούσε να είναι κάτι απλό για αρχή.

Μια ιδέα είναι αυτό που κάνουμε τώρα στο νήμα της C: Caesar cipher.
Κι αργότερα: Vigenere Cipher.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 14 Φεβ 2012, 20:35

pc_magas έγραψε:Έχω ήδη κάνει ένα και θέλω developers:
http://sourceforge.net/projects/guma-efs/


Θέλεις βοήθεια με το πρόγραμμα ή θέλεις να ξεκινήσεις κάτι καινούργιο;
Τελευταία επεξεργασία από giannosfor και 15 Φεβ 2012, 13:23, έχει επεξεργασθεί 1 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 14 Φεβ 2012, 20:40

migf1 έγραψε:
giannosfor έγραψε:Τι έγινε παιδιά πέθανε αυτό το thread;

Οκ να βάλω εγώ μία ιδέα.
Τι θα λέγατε όλοι όσοι είναι φίλοι το προγραμματισμού σε Java να προτείνουμε ένα project και να το υλοποιήσουμε.

Θα μπορούσε να είναι κάτι απλό για αρχή.

Μια ιδέα είναι αυτό που κάνουμε τώρα στο νήμα της C: Caesar cipher.
Κι αργότερα: Vigenere Cipher.


viewtopic.php?f=6&t=20974&start=120
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 14 Φεβ 2012, 21:41

Αν είδα καλά, έχετε φτιάξει Vigenere κρυπτογράφηση με hard-coded τον πίνακα tabula recta, σε κεφαλαία λατινικά και μόνο, χωρίς ρουτίνα αποκρυπτογράφησης.

Δοκιμάστε να ανεξαρτητοποιήσετε το βασικό αλφάβητο από το hardcoding, επιτρέποντας να είναι οποιοδήποτε εύρος συμβόλων διαλέγει ο χρήστης ή ο προγραμματιστής, από ASCII(0) έως ASCII(255) ... αυτό θα δουλεύει και με UTF-8... καθώς και να ανεξαρτητοποιήσετε τα σύμβολα της αλφαβήτου από τα ASCII codes που τους αντιστοιχούν (να μπορεί δηλαδή το πρόγραμμα να λειτουργεί σωστά ακόμα και με τυχαίως ανακατεμένα τα σύμβολα του αρχικού αλφάβητου).

Και προφανώς να προσθέσετε και ρουτίνα αποκρυπτογράφησης, μιας και δεν στέκεται μόνο το ένα ή μόνο το άλλο. Κρυπτογράφηση και αποκρυπτογράφηση πάνε πάντα ζευγάρι.

Τώρα, το κατά πόσο τα παραπάνω θεωρούνται απλά στη Java, δεν έχω ιδέα. Ο αλγόριθμος κρυπτογράφησης/αποκρυπτογράφησης του Vigenere αυτός κάθε αυτός είναι μάλλον τετριμμένος (του Καίσαρα είναι αστείος) οπότε το βάρος πέφτει στη υλοποίησή του, καθώς και των υπόλοιπων που περιγράφω παραπάνω.

Σε λιγάκι θα ποστάρω στο νήμα της C ένα ολοκληρωμένο πρόγραμμα που κάνει ότι περιγράφω παραπάνω, τόσο για Caesar όσο και για Vigenere (με μενού να επιλέγει ο χρήστης τον αλγόριθμο).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 16 Φεβ 2012, 16:37

EDIT:
Αμάν σε λάθος νήμα πόσταρα... :lol:

Για τον κώδικα του Vigenere: http://ideone.com/SvFRR δεν θα κάνω τελικά αναλυτικό ποστ, γιατί πολύ αμφιβάλλω αν θα το διαβάσει και κανείς. Όποιος έχει απορίες στον κώδικα ας τις ποστάρει και θα τις απαντήσω.

Η βασική διαφορά της δικής μου υλοποίησης από τη συντριπτική πλειοψηφία όσων κυκλοφορούν στο νετ είναι η συνάρτηση: int tabrecta_make() η οποία επιτρέπει στον προγραμματιστή να επιλέξει οποιοδήποτε αλφάβητο επιθυμεί μέσα από το extended ASCII table, είτε με συνεχόμενα σύμβολα, είτε περνώντας ένα c-string που περιέχει όποια σύμβολα θέλει, με όποια σειρά θέλει.

Επίσης επιτρέπει το ανακάτεμα του βασικού αλφάβητου πριν δημιουργήσει τα υπόλοιπα μέσα στον πίνακα tabula recta, ορίζοντας την τιμή 1 στη σταθερά SHUFFLE (με 0 το αλφάβητο δεν ανακατεύεται).

ΥΓ. Τελικά στο νήμα της Java δεν είδα να το προσπαθεί κανείς :(
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 16 Φεβ 2012, 16:42

@migf1 μόλις βρω λίγο χρόνο θα ασχοληθώ,δεν έχω καμία σχέση με κρυπτογράφηση και ίσως χρειαστεί να αφιερώσω χρόνο.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι