为什么Java只是跳过if语句?

时间:2017-05-14 21:10:30

标签: java

<controls:ExtendedPicker x:Name="myPicker" ItemsSource="{Binding ListaLugaresTrabajo}" DisplayProperty="NombreLugar"  SelectedIndexChanged="OnLugarChange"/>

    async void OnLugarChange(object sender, System.EventArgs e)
    {
        if (myPicker.SelectedIndex != -1)
        {
            _selectedLugarTrabajo = myPicker.SelectedItem as LugarDeTrabajo;
        }
     }

这会显示“请输入您的姓名&gt;&gt;”,但无论我在那里输入什么内容,即使它是空的,也会询问您是否要启用亵渎过滤器。 它只是跳过if if应该永远循环,直到你真正输入一个名字,我无法弄清楚原因。

另外,我知道我没有在标题中问过这个问题,但我也无法找到最终语句循环回“response = input.nextLine();”的方法。当有人不输入“是”或“否”时。

1 个答案:

答案 0 :(得分:1)

如果您希望它永远循环,那么您需要使用while循环而不是if,例如:

Scanner input = new Scanner(System.in);
System.out.print("Please enter your name >>");
String name = input.nextLine();
while(name.isEmpty()){
    System.out.println("You did not enter a name, please try again >>");
    name = input.nextLine();
}

这会一直要求用户输入名称,直到他输入非空String