Page 2 of 6

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Tue Dec 06, 2016 2:34 am
by Sylleth
Georgilakis Antonios wrote:Όπα, sorry, my fault. :-D

In that case, υπάρχει και το NetBeans.
Ψηνομαι να χρησιμοποιησω netbeans για να μαθω java μεσα απο ενα mooc του πανεπιστημιου του ελσινκι. Βεβαια, απ'οσο ειδα μεχρι στιγμης οι διαφανειες και τα εργαστηρια σε εμας δουλευουν με το acm.jar (που δεν ειμαι σιγουρος τι ακριβως κανει) και ο κωδικας φαινεται ελειπης σε σχεση με αυτον του course. Τι φαση, αλλη java κανουμε στο δικο μας πανεπιστημιο?

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Tue Dec 06, 2016 4:14 am
by Georgilakis Antonios
Sylleth wrote:Ψηνομαι να χρησιμοποιησω netbeans για να μαθω java μεσα απο ενα mooc του πανεπιστημιου του ελσινκι. Βεβαια, απ'οσο ειδα μεχρι στιγμης οι διαφανειες και τα εργαστηρια σε εμας δουλευουν με το acm.jar (που δεν ειμαι σιγουρος τι ακριβως κανει) και ο κωδικας φαινεται ελειπης σε σχεση με αυτον του course. Τι φαση, αλλη java κανουμε στο δικο μας πανεπιστημιο?
Nop, απλά το πρόγραμμα σπουδών ξεκινάει με κάτι πιο απλό (για αρχή) για Java, και μετά περνά στην κανονική φάση. (Java ΙΙ course)

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Tue Dec 06, 2016 9:04 pm
by Sylleth
Georgilakis Antonios wrote:
Sylleth wrote:Ψηνομαι να χρησιμοποιησω netbeans για να μαθω java μεσα απο ενα mooc του πανεπιστημιου του ελσινκι. Βεβαια, απ'οσο ειδα μεχρι στιγμης οι διαφανειες και τα εργαστηρια σε εμας δουλευουν με το acm.jar (που δεν ειμαι σιγουρος τι ακριβως κανει) και ο κωδικας φαινεται ελειπης σε σχεση με αυτον του course. Τι φαση, αλλη java κανουμε στο δικο μας πανεπιστημιο?
Nop, απλά το πρόγραμμα σπουδών ξεκινάει με κάτι πιο απλό (για αρχή) για Java, και μετά περνά στην κανονική φάση. (Java ΙΙ course)
Αρα εγω να συνεχισω να διαβαζω απο αυτο το course η θα μου γυρισει μπουμερανγκ και στην εξεταστικη δεν θα καταλαβαινω τιποτα επειδη τα διαβασα απο αλλου?

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 07, 2016 3:13 am
by Georgilakis Antonios
Καταρχήν, εξαρτάται από εσένα τι σε βοηθάει περισσότερο να διεκπεραιώσεις τουλάχιστον τις απαιτήσεις του μαθήματος.

Προφανώς το Java II course είναι πιο προχωρημένο σε σχέση με το Java I course, και προφανώς στην εξεταστική ίσως να σε βοηθήσει να γνωρίζεις κάτι παραπάνω.
Αυτό όμως δεν εγγυάται και το γεγονός ότι στις εξετάσεις η απόδοσή σου θα είναι και εντός αυτών που ζητούνται.

Επομένως, u choose. :-D

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 3:22 pm
by Mickey
Καλησπερα παιδια, δοκιμασα το προγραμμα της σελιδας 244-245 του βιβλιου του Roberts, αυτο με το Student, το εγραψα ακριβως οπως το εχει στο βιβλιο. Tο προγραμμα βεβαια το ονομασα lab για συντομια. Οταν ομως το μεταγλωτισσα μου βγαζει αυτο:
Error: Main method not found in class lab, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

Γιατι μου το βγαζει αυτο; Τι πρεπει να κανω;

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 3:31 pm
by Alive
Mickey wrote:Καλησπερα παιδια, δοκιμασα το προγραμμα της σελιδας 244-245 του βιβλιου του Roberts, αυτο με το Student, το εγραψα ακριβως οπως το εχει στο βιβλιο. Tο προγραμμα βεβαια το ονομασα lab για συντομια. Οταν ομως το μεταγλωτισσα μου βγαζει αυτο:
Error: Main method not found in class lab, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

Γιατι μου το βγαζει αυτο; Τι πρεπει να κανω;
Δείξε κώδικα.

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 4:02 pm
by Mickey

Code: Select all

import acm.program.*;
public class lab {
	public lab (String name, int id) {
		studentName = name;
		studentID = id;
	}
	public String getName() {
		return studentName;
		}
	public int getID() {
		return studentID;
		}
	public void setCredits(double credits) {
		creditsEarned = credits;
		}
	public double getCredits() {
		return creditsEarned;
	}
	public void setPaidUp(boolean flag) {
		paidUp = flag;
	}
	public boolean isPaidUp() {
		return paidUp;
	}
	public String toString() {
		return studentName + " (#" +studentID + ")";
	}
	public static final double CREDITS_TO_GRADUATE = 32.0;
	private String studentName;
	private int studentID;
	private double creditsEarned;
	private boolean paidUp;
}

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 4:12 pm
by Alive
Έχεις και κάποια άλλη class μέσα στη οποία δημιουργείς αντικείμενα της class lab?

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 7:32 pm
by Mickey
Οχι...
==============================================
Επισης εχω αυτο το προγραμμα:

Code: Select all

import acm.program.*;
public class lab extends Program {
	
	private int topLeftX;
	private int topLeftY;
	private int bottomRightX;
	private int bottomRightY;
	
	public lab(int tlx, int tly, int brx, int bry) {
		topLeftX = tlx;
		topLeftY = tly;
		bottomRightX = brx;
		bottomRightY = bry;
	}
	
	public int surface() {
		int width, height;
		width = bottomRightX - topLeftX;
		height = topLeftY - bottomRightY;
		return width*height;
	}
	
	public void display() {
		println("Dimensions are: Top-Left corner -> (" + topLeftX + "," + topLeftY +")" + " and Bottom-Right corner -> (" + bottomRightX + "," + bottomRightY + ")");
	}
}
Το οποιο ομως δεν τρεχει και αντ'αυτου μου βγαζει:
lab.java:63: error: class, interface, or enum expected
}
^
1 error

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 10:33 pm
by Georgilakis Antonios
Μπας και κατά το compile ξεχνάς να δηλώσεις στο classpath την βιβλιοθήκη ACM ?
(Υποθέτω)

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sun Dec 11, 2016 11:24 pm
by Mickey
Όχι... Το μεταγλωτισσα οπως και ολα τα αλλα προγραμματα που δουλευανε κανονικα... :-(

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Mon Dec 12, 2016 7:33 pm
by Mickey
Georgilakis Antonios wrote:Όπα, sorry, my fault. :-D

In that case, υπάρχει και το NetBeans.
++ Κατέβασα το NetBeans με all-inclusive, αλλά δεν αναγνωρίζει αυτά του πακέτου acm, όπως πχ το println...

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Mon Dec 12, 2016 7:48 pm
by Georgilakis Antonios
Mickey wrote:++ Κατέβασα το NetBeans με all-inclusive, αλλά δεν αναγνωρίζει αυτά του πακέτου acm, όπως πχ το println...
Ξαναδες το include path. (classpath)
[Όχι το import]

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Thu Dec 15, 2016 6:30 pm
by Hermes
Παιδια, το προγραμμα που επισυναψε ο Mickey ουτε εμενα μου τρεχει, και μου βγαζει το ιδιο πραγμα. +εψαξα παλια θεματα σε αυτο το μαθημα αλλα δεν βρηκα την αντιστοιχη κατηγορια(!)

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Thu Dec 15, 2016 8:19 pm
by Georgilakis Antonios
Το τελευταίο πρόγραμμα που επισυνάφθηκε μεταγλωττίζεται κανονικά.
Η απόδειξη είναι στο επισυναπτόμενο αρχείο.

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sat Dec 17, 2016 4:40 pm
by Hermes
!!! περιεργο γιατι εμενα μου βγαζει error...
Εχω αλλη μια ερωτηση: Δεν εχω καταλαβει τι κανει η μεθοδος toString και γιατι να την χρησιμοποιουμε. Ειδα και μερικα σχετικα tutorials αλλα δεν καταλαβα Χριστο

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Sat Dec 17, 2016 6:22 pm
by Georgilakis Antonios
Hermes wrote:!!! περιεργο γιατι εμενα μου βγαζει error...
Εχω αλλη μια ερωτηση: Δεν εχω καταλαβει τι κανει η μεθοδος toString και γιατι να την χρησιμοποιουμε. Ειδα και μερικα σχετικα tutorials αλλα δεν καταλαβα Χριστο
Δίνει μια αναπαράσταση του αντικειμένου ως αλφαριθμητικό.
Χρήσιμο για debug.

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 28, 2016 5:22 pm
by Mickey
please ας επισυναψει καποιος τα περυσινα θεματα στα γραπτα αυτου του μαθηματος για να δω τι παιζει :cry:

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 28, 2016 7:42 pm
by ala_mages
Mickey wrote:please ας επισυναψει καποιος τα περυσινα θεματα στα γραπτα αυτου του μαθηματος για να δω τι παιζει :cry:
Παλαια θέματα έχει εδώ γενικά viewtopic.php?p=347904#p347904

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 28, 2016 7:48 pm
by Mickey
Ο καθηγητης εχει αλλαξει απο περυσι, οποτε εχει νοημα να δουμε μονο τα περυσινα θεματα

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 28, 2016 8:48 pm
by fox0077
Έχουμε αυτό το πρόγραμμα. Οποιος μπορει ας μου εξηγησει την διαφορα μεταξυ του equals και του ==. Επισης τι ειναι το s=color3.substring(1, 2) καθως και του indexof. Με δικα σας λογια, δεν θελω να με παραπεμψετε σε αλλο σάιτ καθως φοβαμαι οτι δεν θα καταλαβω ολα τα αγγλικα... Ευχαριστω

Code: Select all

import acm.program.*;

public class testStrings extends ConsoleProgram {

	public void run() {

		String s=new String();

		String color1 = "RED";
		println ("Color1 = " + color1);

   		String color2 = new String ("RED");
   		println ("Color2 = " + color2);

   		String color3 = new String ("Red");
   		println ("Color3 = " + color3);

   		if (color1.equals(color2))println ("color1=color2");
   		else println ("color1<>color2");

   		if (color1 == color2)println ("color1=color2");
   		else println ("color1<>color2");

   		if (color2.equalsIgnoreCase(color3))println ("color2=color3");
   		else println ("color2<>color3");

   		s=color3.substring(1,2);
   		println (s);

   		int x=color3.indexOf(s);
   		println (x);

   		x=color2.indexOf(s);
   		println (x);

   		s=String.valueOf(x);
   		s=s.concat("@");
   		println (s);
   	}
}

Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών

Posted: Wed Dec 28, 2016 9:24 pm
by kras
Ο τελεστής == ελέγχει αν δύο αναφορές είναι ίσες. Δηλαδή αν δείχνουν στο ίδιο αντικείμενο. Πιο απλά, αν δύο αναφορές δείχνουν σε ένα κοινό αντικείμενο.
Η μέθοδος equals συγκρίνει τα αντικείμενα στα οποία δείχνουν οι αναφορές και επιστρέφει true αν αυτά είναι ίσα. Το τι σημαίνει το γεγονός ότι δύο στιγμιότυπα μιας κλάσης είναι ίσα εξαρτάται από την εκάστοτε κλάση και υλοποίηση της equals.

Η str.substring(x, y) επιστρέφει ένα υπο-string του str, ξεκινώντας από την θέση x μέχρι και τη θέση y-1.

Η str.indexof(s) επιστρέφει τη θέση στην οποία εμφανίζεται για πρώτη φορά μέσα στο str to s.