import java.util.Scanner;
public class ZodiacSign{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int F
You're reading variables which have never been written to, for example you read from Feb in the first if statement without ever having written anything to it.
Also, some of the code paths through your code leave ZodiacSign local variable uninitialized, which will produce the same error once you try to read it. Take for example this:
if(Feb>= 19){
ZodiacSign = Pisces ;
System.out.println("Your zodiac sign is Pisces");
}
else
{
System.out.println("Your zodiac sign is Aquarius");
}
If Feb is smaller than 19 ZodiacSign will not have been written by the end of the code fragment. The second conditional also may leave ZodiacSign unassigned.
What you're missing is actually using the value you read in from the input to set your local variables. That is, after
selection = input.nextInt();
you should use the value in selection to assign some useful values to Feb, March and so on. Then also make sure that ZodiacSign is assigned no matter which code path ends up being taken.
Moreover, there is a fundamental problem with your algorithm here. You do not need a variable for each month. You need just two variables for your input: day and month and a third for the zodiac sign.