tazos87 Δημοσ. 14 Απριλίου 2014 Δημοσ. 14 Απριλίου 2014 Μου βγάζει αυτό το λάθος: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextDouble(Unknown Source) at Example0.main(Example0.java:13) Αυτό που θέλω να κάνω στην ουσία,είναι απλά να βάζει ο χρήστης των αριθμό πωλήσεων και τη τιμή και να του βγάζει τα έσοδα. Ο κώδικας μου: import java.util.*; public class Example0 { public static void main(String args[]) { Scanner total = new Scanner(System.in); int sales; double price; System.out.println("Insert number of sales:") ; sales = total.nextInt(); System.out.println("Product price:"); price = total.nextDouble(); System.out.println("Total income is" + sales * price); } } Είμαι αρχάριος,οπότε απαντήστε αναλόγως,ευχαριστω
stikos Δημοσ. 14 Απριλίου 2014 Δημοσ. 14 Απριλίου 2014 Το exception που παίνρεις σημαίνει ότι ενώ το Scanner περιμένει να διαβάσει τιμή double δεν βρίσκει τιμή double αλλά άλλου τύπου. Πιθανολογώ χωρίς να ξέρω τι δίνεις ως input πως δίνεις 2.0 αντί για 2,0.
Moderators Kercyn Δημοσ. 14 Απριλίου 2014 Moderators Δημοσ. 14 Απριλίου 2014 Το exception που παίνρεις σημαίνει ότι ενώ το Scanner περιμένει να διαβάσει τιμή double δεν βρίσκει τιμή double αλλά άλλου τύπου. Πιθανολογώ χωρίς να ξέρω τι δίνεις ως input πως δίνεις 2.0 αντί για 2,0. 2,0 αντί για 2.0* 2
tazos87 Δημοσ. 14 Απριλίου 2014 Μέλος Δημοσ. 14 Απριλίου 2014 Ναι ρε παιδια! Αυτό ήταν...Ευχαριστώ! Περίεργο ωστόσο...γιατί αν αυτός που πάει να πληκτρολογήσει τη τιμή που θέλει, και πατήσει το κόμμα στη δεξιά πλευρά του πληκτρολογίου (ανάμεσα στο "0" και το "Enter") τότε θα του βγάζει λάθος ή δεν θα του βγάζει τίποτα...Αυτό πάτησα εγώ και το εμφάνισε σαν τελεία. Θα πρέπει να σκεφτεί να δοκιμάσει το άλλο πλήκτρο. (κακό αυτό)
Moderators Kercyn Δημοσ. 14 Απριλίου 2014 Moderators Δημοσ. 14 Απριλίου 2014 Αν έχει Ελληνικά το πλήκτρο θα του εμφανίσει κόμμα, αλλιώς θα του εμφανίσει τελεία. Έχει να κάνει με τα regional settings και ποιος είναι το decimal mark στη γλώσσα που έχει ο χρήστης.
tazos87 Δημοσ. 14 Απριλίου 2014 Μέλος Δημοσ. 14 Απριλίου 2014 Εννοώ οτι όπως και να έχει είναι κακό που γίνεται ο διαχωρισμός '' . '' με '' , '' ... Μπορεί άραγε κάπως να φτιαχτεί αυτό ωστε οτι και να βάλει ο χρήστης, τελεία ή κόμμα, να βγαίνει σωστά δεκαδικό?
Moderators Kercyn Δημοσ. 14 Απριλίου 2014 Moderators Δημοσ. 14 Απριλίου 2014 Να κάνεις parsing, αλλά δε γίνεται με 2 γραμμές...
tazos87 Δημοσ. 14 Απριλίου 2014 Μέλος Δημοσ. 14 Απριλίου 2014 Δεν ξέρω τι είναι parsing,φαντάζομαι θα το δω στη πορεία...θα το κοιτάξω! (είμαι εντελώς στην αρχή)
Moderators Kercyn Δημοσ. 14 Απριλίου 2014 Moderators Δημοσ. 14 Απριλίου 2014 Αν θες να διαβάζεις έναν αριθμό όπου η τελεία ή το κόμμα χωρίζουν το ακέραιο από το δεκαδικό μέρος, πρέπει να διαβάσεις ένα string. Αν σε αυτό το string περιέχονται μόνο αριθμοί και το πολύ μία τελεία ή το πολύ ένα κόμμα, τότε όλοι οι αριθμοί που διάβασες πριν το διαχωριστή αποτελούν το ακέραιο μέρος σου και όλοι αυτοί που διάβασες μετά αποτελούν το δεκαδικό μέρος.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα