This code runs fine. But after submission shows Run time error
import java.util.Scanner;
class HighestFactor {
int frequency, number;
int maxPower=0;
public static void main(String args[]){
HighestFactor highestFactor = new HighestFactor();
highestFactor.UserInput();
if(highestFactor.validateNumber()){
System.out.println(highestFactor.calculateMaxPower());
}
else{
System.out.println("Invalid number, Please correct it !!!");
}
}
public void UserInput(){
Scanner scanner = new Scanner(System.in);
frequency =scanner.nextInt();
String s = scanner.next();
number = Integer.parseInt(s);
}
public boolean validateNumber(){
if(digitCounter(number) == frequency){
return true;
}
else{
return false;
}
}
public int digitCounter(int num){
int count = 0;
while(num>0){
num = num/10;
count++;
}
return count;
}
public int calculateMaxPower(){
while(number%2 == 0){
number = number/2;
maxPower++;
}
return maxPower;
}
}