Hi im trying to check if n is an integer if not i would show an error msg and alert the user to input an integer number again. I tried to use if (n%1==0) but whenever i type a number like 45.2 i would get an error.
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.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at P2.main(P2.java:8)
Why is this so?? why dosent it go to the else statement and prompt the user to reenter the number.
Code:import java.util.Scanner; class test { public static void main(String[] args) { Scanner cc= new Scanner(System.in); System.out.println("Enter a number:"); int n = cc.nextInt(); do{ if (n%1==0){ System.out.println( times( n ) ); System.out.println("\nEnter the next number:"); n = cc.nextInt(); } else if (n%1!=0) { System.out.println("\nEnter a number:"); n = cc.nextInt();} }//end do while(n != -1); System.out.println("Program Terminated"); }//end while public static int times( int n ) { return n * n; }//end times }//end class




Reply With Quote