Απορια στην πρωτη εργασια Java

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
skycloud
byte level
byte level
Posts: 53
Joined: Tue Sep 29, 2009 8:26 pm
Gender:

Re: Απορια στην πρωτη εργασια Java

Post by skycloud » Mon Nov 02, 2009 7:37 pm

Παιδια οκ, το διορθωσα σημερα στο εργαστηριο με λιγη βοηθεια και τωρα τρεχει μια χαρα!!
Σας ευχαριστω ολους για τη βοηθεια :D
“Rhaegar fought valiantly, Rhaegar fought nobly, Rhaegar fought bravely. And Rhaegar died. ”
Deykalionas17
byte level
byte level
Posts: 109
Joined: Tue Nov 03, 2009 5:09 pm
Academic status: N>4
Gender:

Re: Απορια στην πρωτη εργασια Java

Post by Deykalionas17 » Tue Nov 03, 2009 5:18 pm

Γεια σας παιδιά. Να'μαι κι εγώ εδώ. Είμαι 2ετής αλλά παρ'όλα αυτά κάνω κι εγώ την 1η εργασία Java. Να σας παρακαλέσω εδώ στο συγκεκριμένο μάθημα να με αντιμετωπίζετε σαν πρωτοετή καθώς δεν πάτησα πέρισυ οπότε στη ουσία είμαι 1ετής! :-D Λοιπόν αυτό που θέλω να ρωτήσω είναι κάπως περίπλοκο. Έχω μπλέξει τα μπούτια μου προσπαθώντας με πολλούς διαφορετικούς τρόπους να λύσω το πρόβλημά μου. Ελπίζω με λίγη βοήθεια από εσάς να λύσω τα θέματά μου. Λοιπόν:

Η απορία μου αφορά την τελική Εμφάνιση των εντολών μου. ΤΙ εννοώ:

KWh (μέχρι 800) 800 * 0,07292 ευρώ 58 ευρώ και 33 λεπτά <----Αυτή είναι η σωστή φράση που πρέπει να εμφανιστεί.

KWh (μέχρι 800) 800 * 0,07292 ευρώ 58 ευρώ και 33600 λεπτά <----- Αυτή είναι η φράση που μου εμφανίζεται με τους integers.

Αυτή είναι η φράση που μου εμφανίζει όταν έχω δηλώσει ΤΑ ΠΑΝΤΑ ώς int. Δηλαδή ακόμα και τις τιμές 0.07292, 0.09285,0.04317 τις έχω γράψει 7292, 9285 και 4317 αντίστοιχα. Σαν απλούς ιntegers δηλαδή. Κάνω κανονικά τις πράξεις μου, αλλά λόγω της μετατροπής όταν πάω να βγάλω το Υπόλοιπο τις διαίρεσης του αποτελέσματος με το 100000 μου βγάζει 336000 λεπτά.

Αν πάλι πάω να το κάνω με double η ακρίβεια είναι μεγάλη και επομένως δεν με βολεύει. Δηλαδή με double το αποτέλεσμά μου είναι κάπως έτσι:

KWh (μέχρι 800) 800 * 0,07292 ευρώ 58.33 ευρώ και 32,99999999997 λεπτά

Δεν είναι ΑΚΡΙΒΩΣ τόσο. Αλλά κατά προσέγγιση. Μπορεί κάποιος να με βοθήσει ώστε να εμφανίσω τη σωστ΄φράση; Ευχαριστώ εκ των προτέρων όσους βοηθήσουν.
User avatar
philimonas
Kilobyte level
Kilobyte level
Posts: 314
Joined: Thu Jul 19, 2007 1:19 pm
Academic status: Alumnus/a
Gender:

Re: Απορια στην πρωτη εργασια Java

Post by philimonas » Tue Nov 03, 2009 5:26 pm

Γειά!

Στην πρώτη περίπτωση, διαίρεσε τα λεπτά με το 1000 και κράτα το ακέραιο μέρος.

Στη δεύτερη περίπτωση, με τους doubles, κράτα το ακέραιο μέρος για τα ευρώ και το δεκαδικό για τα λεπτά.

Δοκίμασε και αν δεν μπορείς, πες!
Deykalionas17
byte level
byte level
Posts: 109
Joined: Tue Nov 03, 2009 5:09 pm
Academic status: N>4
Gender:

Re: Απορια στην πρωτη εργασια Java

Post by Deykalionas17 » Tue Nov 03, 2009 5:47 pm

Philimona δεν ξέρω πως να σ'ευχαριστήσω. Δεν φαντάζεσαι πόσα πράγματα δοκίμασα για να τα φτιάξω. Τι μεταβλητές άλλλαζα, τι το internet όργωνα για εντολές, τι ξεζούμισα όλες τις ιδιότητες της printf τίποτα δεν δούλευε. Και τελικά ήταν κάτι το τόσο έξυπνο και απλό. Σε ευχαριστώ ΠΑΡΑ ΠΟΛΥ. Σου είμαι πραγματικά υπόχρεος!!!! :smt023 :smt023
User avatar
philimonas
Kilobyte level
Kilobyte level
Posts: 314
Joined: Thu Jul 19, 2007 1:19 pm
Academic status: Alumnus/a
Gender:

Re: Απορια στην πρωτη εργασια Java

Post by philimonas » Tue Nov 03, 2009 5:59 pm

Τίποτα! Μερικές φορές για τα πιο απλά σκαλώνεις ώρες... :-p :-p
Post Reply

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