Προς το περιεχόμενο

3 ερωτήσεις Java


totomos

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας..:-)

 

1) Γράψτε ένα πρόγραμμα Java που θα τυπώνει 3 φορές την συμβολοσειρά “Hello” στην οθόνη. Εξηγήστε πώς θα «σώζατε» το πηγαίο κώδικα ( γράψτε το όνομα αρχείου), πώς θα το μεταγλωττίζατε και πώς θα το εκτελούσατε.

(εδώ βασικά το 2ο σκέλος της ερώτησης με ενδιαφέρει)

..............................................................................................................

 

2)

Έστω η κλάση :

Έστω η κλάση :

class FindResult

{

public static void main(String[] args)

{

int x=9,y=8;

while (x--)

{

y++;

}

System.out.println("x="+x +" y="+y);

}

}

Ποιο θα είναι το αποτέλεσμα εάν τρέξουμε το παραπάνω πρόγραμμα;

Αιτιολογήστε την απάντησή σας

...............................................................................................................

 

3)

Έστω η κλάση :

class FindAnotherResult

{

public static void main(String[] args)

{

int x=9,y=8;

while (x>2)

{

x--;

y++;

}

System.out.println("x="+x +" y="+y);

}

}

Πόσες φορές το πρόγραμμα θα μπει στο while loop ? Για κάθε φορά που θα εκτελεστεί ο κώδικας μέσα στο while loop, γράψτε τις τιμές του x και y. Ποιες θα είναι οι τελικές τιμές του

x και y;

 

Απάντηση (δε ξέρω αν είναι σωστή.. Αν ξέρει κάποιος...:-D):

 

Το πρόγραμμα θα μπει στο while loop 8 φορές.

Για κάθε φορά που θα εκτελεστεί ο κώδικας μέσα στο while loop οι τιμές του x και του y θα είναι οι εξής:

 

 

 

Αριθμός εκτέλεσης while loop: 01|02|03|04|05|06|07

.................................................. .x: 08|07|06|05|04|03|02

.................................................. .y: 09|10|11|12|13|14|15

 

Επομένως οι τελικές τιμές του x και του y θα είναι 2 και 15 αντίστοιχα.

 

ΥΓ: Αν το πόσταρα σε λάθος κατηγορία ας το σβήσουν οι διαχειριστες ή ας ενημερωθω να το σβήσω εγώ..;)

Δημοσ.

για την 3 ερωτηση:

οταν το x γινει 2, ΔΕΝ θα μπει στο λουπ (γιατι ζηταει >2).

Αρα θα μπει 7 φορες..... τις τιμες παντως σωστα τις εγραψες

Δημοσ.

2)

Έστω η κλάση :

Έστω η κλάση :

class FindResult

{

public static void main(String[] args)

{

int x=9,y=8;

while (x--)

{

y++;

}

System.out.println("x="+x +" y="+y);

}

}

Ποιο θα είναι το αποτέλεσμα εάν τρέξουμε το παραπάνω πρόγραμμα;

Αιτιολογήστε την απάντησή σας

 

Αυτό που γράφεις εδώ ΔΕΝ θα τρέξει. Το while (x--) δεν κάνει compile γιατί μέσα στην παρένθεση θέλει boolean. Αν αυτή είναι η απάντηση, OK. Αλλιώς στείλε διόρθωση ;)

Δημοσ.
Αυτό που γράφεις εδώ ΔΕΝ θα τρέξει. Το while (x--) δεν κάνει compile γιατί μέσα στην παρένθεση θέλει boolean. Αν αυτή είναι η απάντηση, OK. Αλλιώς στείλε διόρθωση ;)

το δοκιμασες και δεν κανει compile?

Εγω δεν το δοκιμασα αλλα νομιζω πως θα παιξει, οταν το x γινει 0 μεταφραζεται ως false

Δημοσ.
το δοκιμασες και δεν κανει compile?

Εγω δεν το δοκιμασα αλλα νομιζω πως θα παιξει, οταν το x γινει 0 μεταφραζεται ως false

 

Δοκίμασέ το και θα δείς ;). Το χ-- μεταφράζεται σε χ = χ -1 που είναι assignement και όχι equality test. Elementary Watson.;)

Δημοσ.

το τσεκαρα, πραγματι η java θελει αυστηρα boolean τιμη στα while της οπως φαινεται.

Αλλαζοντας το while (x--) σε while ( 0 != x-- ) το προβλημα λυνεται.

Στην C θα δεχοταν κανονικα και το πρωτο while

 

Προφανως ειναι αβλεψια του καθηγητη γιατι συμφωνα με την εκφωνηση

Ποιο θα είναι το αποτέλεσμα εάν τρέξουμε το παραπάνω πρόγραμμα;
θεωρει δεδομενο πως γινεται compile & run
Δημοσ.
Στην C θα δεχοταν κανονικα και το πρωτο while

:-) Ναι εκεί δουλεύει αλλιώς.

 

Προφανως ειναι αβλεψια του καθηγητη

Τόσο σίγουρος ο καθηγητής για τον εαυτό του που δεν έκανε τον κόπο να το τσεκάρει και το έδωσε στο έτσι. τσκ,τσκ, τσκ :rolleyes:

Δημοσ.

χα! η πλάκα είναι ότι δεν είναι από καθηγητή οι ερωτήσεις αλλά από τις επίσημες ερωτήσεις πιστοποίησης του τμήματος ΙΕΚ που τέλειωσα..

Και είναι κι ακόμη 3 και βάλε ντουζίνες λάθος διατυπωμένες ερωτήσεις.. Η ακόμη μεγαλύτερη πλάκα είναι ότι στο δημόσιο ΙΕΚ που τέλειωσα αντί να μάθουμε Java μάθαμε Javascript..

Τεσπά, ματαθενξ παίδες!! :-D

 

Κανένας για την πρώτη ερώτηση; :rolleyes::o

Δημοσ.
για την πρωτη;

προφανως δεν εχεις διαβασει το παραμικρο tutorial για java, σωστα;

 

Ναι, βασικά υποτίθεται ότι αυτά τα μάθαμε στο ΙΕΚ, αλλά που...

Έχοντας κάποιες ελάχιστες γνώσεις από άλλες γλώσες και ψάχνοντας στο Internet, κατέληξα στην απάντηση του πρώτου σκέλους:

 

class HelloWord

{

public static void main(String args[])

{

int count = 3;

while (count>0)

{

System.out.println("Hello");

count--;

}

}

}

 

Για το 2ο σκέλος (Εξηγήστε πώς θα «σώζατε» το πηγαίο κώδικα [γράψτε το όνομα αρχείου], πώς θα το μεταγλωττίζατε και πώς θα το εκτελούσατε.) μήπως θα μπορούσες να μου δώσεις κάποιο λινκ σχετικό; Αν απαγορεύεται στο φόρουμ, αν σου είναι εύκολο, στείλτο μου σε μήνυμα pleaseee!! :o

Δημοσ.

κατσε βρε συ,

θε να πεις πως δεν σας εχουν πει πως τον κωδικα αυτον τον σωζετε σε αρχεια τυπου ".java"? δεν εχετε κανει compile με την εντολη javac? δεν το εχετε τρεξει με την εντολη java? Τι μαθηματα κανετε τελως παντων?

 

τεσπα, ολη η διαδικασια βημα-βημα ειναι εδω

καλη συνεχεια

Δημοσ.

κι όμως δεν κάναμε καθόλου java, ούτε θεωρία, ούτε στην πράξη.. Φχαριστώ πάρα πολύ φίλε!! :-D:-D:-D

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...