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

Γιατί δεν εκτελείται σωστά η Math.floor??


niknax

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

Δημοσ.

Kαλησπέρα σε όλους! Θέλω να εισάγω μια double και με τη χρήση της Math.floor () να στρογγυλοποιηθεί.Αλλά παίρνω το εξής :

Exception in thread "main" java.util.InputMismatchException

at java.util.Scanner.throwFor(Scanner.java:840)

at java.util.Scanner.next(Scanner.java:1461)

at java.util.Scanner.nextDouble(Scanner.java:2387)

at MathFloor.main(MathFloor.java:18)

O κώδικας:

import java.util.Scanner;

 

public class MathFloor {

 

public static void main(String[] args) {

 

Scanner input = new Scanner (System.in);

 

double x ;

double y;

 

 

System.out.println("Βάλε μια double: ");

x = input.nextDouble();

 

y = Math.floor( x + 0.5);

 

System.out.printf("Η double τιμή που έβαλες είναι: \n"+x+

"και η στρογγυλοποιημένη είναι: "+y);

}

}

Το περίεργο είναι πως αν δώσω αρχική τιμή στην χ και δεν εισαχθεί άλλη τιμή,δουλεύει.Γιατί????

Δημοσ.

μηπως, όταν βαζεις το input, αντι για τελεια βαζεις κομα ως υποδιαστολή?

 

δοκιμασε

>
System.out.println("Βάλε μια double: ");
if( input.hasNextDouble() )
     x = input.nextDouble();

τουλαχιστον για να μη σου σκαει....

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

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

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