我不知道我是否模糊不清,但我的主要目标是创建一个程序,在其中向用户询问一组单词(任何给定数量),然后告诉我哪个是字母表中的第一个和最后一个,是最短和最长的。到目前为止,我有这个:
public static void main(String[] args)
{
Scanner Keyboard = new Scanner(System.in);
double[] Words = getNewArrayFrom(Keyboard);
displayList(Words);
int choice = 1;
while(choice > 0)
{
System.out.println("What would you like to do?");
System.out.println("1) Enter a new list of up to over 9000 words.");
System.out.println("2) Find the shortest, longest, and first and last alphabetically from the list.");
System.out.println("0) Exit the Program");
choice = Integer.parseInt(Keyboard.nextLine());
if(choice < 0 || choice > 2)
{
System.out.println("Invalid Choice Number " + choice);
choice = 1;
continue;
}
if(choice == 1)
{
//Enter the Words one at a time
System.out.println("Enter each of the words.");
for(int i = 0; i < 9001; i++)
{
System.out.print((i+1) + "> ");
Words = Keyboard.nextLine();
Words = getNewArrayFrom(Keyboard);
}
}
else if(choice == 2)
{
}
}
}
}
对不起,但我不知道我在做什么。我已经从记忆中写下了这些,我真的不知道该怎么做。
我的主要观点是尝试允许getNewArrayFrom()方法从输入字符串创建数组(如果选择)。如果你至少可以指出我如何打印最短,最长,最后和最后一个字母单词的方式或方向,那么我将永远是伟大的!
对不起英语,这不是我的第一语言。
答案 0 :(得分:0)
由于这是伪作业,我将遗漏细节。
我将假设所有用户输入都来自一行,即,它们提供输入字符串,例如apple banana orange grape
。我还假设每个单词都用空格分隔。
我会使用扫描仪读取一行输入,查看nextLine()。然后我会用空格分割从扫描仪返回的行,您可以使用循环indexOf(...)
和substring(...)
手动执行此操作并将其存储在您创建的数组中,或者我们可以使用{ {3}}使内置的Java String函数为我们处理该部分。
如果您使用some_str.split(...)
,它会自动为我们提供一个String []数组,因此您可以根据需要返回它。