我试图创建一个程序,它接受用户的输入,然后用for循环扫描用户输入到数组中。这样我可以遍历数组来查找该字符串是否是一个单词回文。单词回文不同于回文,因为它是整个单词的反向,而不是每个单独的字母。当我编写的程序打印时,它只是打印出空白,我相信这意味着它不存储扫描仪扫描的内容。 下面是我写的东西:如何获取用户输入,将其添加到新扫描仪,然后将输入扫描到数组中?
String userInput, scannedWord;
Scanner keyboard = new Scanner(System.in); //scanner for user input
System.out.print("Please enter a sentence: ");
userInput = keyboard.nextLine(); //stores user input
Scanner stringScan = new Scanner(userInput); //scanner to scan through user input
int userInputLength = userInput.length(); //to find word count
int wordCount = 0; //for array size
for (int i = 0; i < userInputLength; i++) //finds word count
{
while(stringScan.hasNext())
{
scannedWord = stringScan.next();
wordCount = wordCount + 1;
}
}
String stringArray[] = new String[wordCount];
for (int i = 0; i < userInputLength; i++) //should store scanned words into the array
{
while (stringScan.hasNext())
{
scannedWord = stringScan.next();
stringArray[i] = scannedWord;
}
}
System.out.println(Arrays.toString(stringArray)); //how I've checked if it's storing
你的描述很模糊。所以你想要做的是,一个字符串是否是一个回文。 –
'stringScan'在第一次循环的第一次迭代结束时用完。目前还不清楚为什么你甚至有嵌套循环。 – shmosel