I'm new to Java, and I'm working on a method in my program that checks the users input to be within bounds, not a null value (zero), not a letter, and a positive number. So originally I incorporated two while loops within this method to check for the validity of these inputs, but I would like to simplify it in one loop. I'm getting an error when I input a letter (ex. a) after a few inputs, and I believe it is due to the two different while loops making it more complicated. Can someone help me with this please?
public static void valid(String s, int max) 
{ 
    while(sc.hasNextInt() == false) {
        System.out.println("That is not correct. Try again:");
        sc.nextLine();  
    }
    int value;
    while((value= sc.nextInt()) > max || (value= sc.nextInt()) <= 0){
        System.out.println("That is not correct. Try again: ");
        sc.nextLine();
    }
    sc.nextLine();
    return;
} 
 
     
     
     
     
    