我正在研究一个简单的程序,以确定用户的输入是否在预定义的8个字符的数组中。如果是,那么它应该打印出该字母及其位置。如果不是,应该说它不存在。我如何控制我的循环
问题是它通过数组查找并找到字符,然后转到else并打印出“由于for循环它不知道”7个剩余位置的位置。我在纸上追溯变量和条件,虽然我有点理解问题出现的原因,但我不知道如何解决。
到目前为止,我已经试过打破循环,创建一个布尔值,如果找到字符并将信息打印出来,它将会改变(仍然是它的问题,并打印7次,它找不到它)。
char search;
char tryAgain='Y';
char arrayChar[]= {'a', 'd', 'g', 'h', 'r', 't', 'u', 'y'};
while(tryAgain == 'Y')//while user enters Y
{
System.out.println("\nEnter a character to check if it is present in the array");
search= input.nextLine().charAt(0);//extract first letter
for(int i = 0; i < arrayChar.length; i++)//looks through
{
if(search == arrayChar[i])//if it is found
System.out.println(search + " was found in the " + i +" position\n");//print that it is
else
System.out.println("Cannot find the character");
}
System.out.println("Would you like to try again? Yes/No?");
tryAgain= input.nextLine().charAt(0);
}//while try again
System.out.println("Thank you come again");