I am new, having a problem with my code. I wonder how will I be able to print a variable after the if statements. When I don’t put the variable before the if statement it says that it’s not initialized. here is the code:
JavaScript
x
import java.util.Scanner;
public class NameGenerator { public static void main(String[] args) {
JavaScript
Scanner getInput = new Scanner(System.in);
System.out.println("What's the first letter of your first name? ");
String name = getInput.nextLine();
String xmas2;
if (name.equalsIgnoreCase ("a")) {
String xmas2 = "Christmas";
} else if (name.equalsIgnoreCase ("b")) {
String xmas2 = "Merry";
} else if (name.equalsIgnoreCase ("c")) {
String xmas2 = "Santa";
} else if(name.equalsIgnoreCase ("d")) {
String xmas2 = "Chocolate";
} else if(name.equalsIgnoreCase ("e")) {
String xmas2 = "Tinsel";
} else if(name.equalsIgnoreCase ("f")) {
String xmas2 = "Yule";
}
System.out.println("Hey " + xmas2);
}
}
Advertisement
Answer
First of all, you assign variable only 1 time ” String xmas2 = null;”
JavaScript
import java.util.Scanner;
public class Practice {
public static void main(String[] args) {
Scanner getInput = new Scanner(System.in);
System.out.println("What's the first letter of your first name? ");
String name = getInput.nextLine();
String xmas2 = null;
if (name.equalsIgnoreCase("a")) {
xmas2 = "Christmas";
} else if (name.equalsIgnoreCase("b")) {
xmas2 = "Merry";
} else if (name.equalsIgnoreCase("c")) {
xmas2 = "Santa";
} else if (name.equalsIgnoreCase("d")) {
xmas2 = "Chocolate";
} else if (name.equalsIgnoreCase("e")) {
xmas2 = "Tinsel";
} else if (name.equalsIgnoreCase("f")) {
xmas2 = "Yule";
}
System.out.println("Hey " + xmas2);
}
}
Output
JavaScript
What's the first letter of your first name?
a
Hey Christmas