start==end always compares the same string. If the input is "cat", it checks if "cat"=="cat" which is true.
Use recursion if you are not allowed to use loops:
String input=in.nextLine();
isPalindrome(0,start.length()-1,input);
boolean isPalindrome(left,right,input){
if (left>=right){
// left==right for odd palindrome
// left>right for even palindrome
return true;
}
if (str.charAt(left)!=str.charAt(right)){
return false;
}
return isPalindrome(left+1,right-1,str);
}