无法弄清楚如何使用扫描仪输入的getNewArrayFrom方法?

时间:2012-08-27 22:12:42

标签: java arrays string arraylist

我不知道我是否模糊不清,但我的主要目标是创建一个程序,在其中向用户询问一组单词(任何给定数量),然后告诉我哪个是字母表中的第一个和最后一个,是最短和最长的。到目前为止,我有这个:

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()方法从输入字符串创建数组(如果选择)。如果你至少可以指出我如何打印最短,最长,最后和最后一个字母单词的方式或方向,那么我将永远是伟大的!

对不起英语,这不是我的第一语言。

1 个答案:

答案 0 :(得分:0)

由于这是伪作业,我将遗漏细节。

我将假设所有用户输入都来自一行,即,它们提供输入字符串,例如apple banana orange grape。我还假设每个单词都用空格分隔。

我会使用扫描仪读取一行输入,查看nextLine()。然后我会用空格分割从扫描仪返回的行,您可以使用循环indexOf(...)substring(...)手动执行此操作并将其存储在您创建的数组中,或者我们可以使用{ {3}}使内置的Java String函数为我们处理该部分。

如果您使用some_str.split(...),它会自动为我们提供一个String []数组,因此您可以根据需要返回它。