0

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

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

对不起,英语不是我的母语。

4

1 回答 1

0

由于这是伪作业,我将省略细节。

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

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

如果你使用some_str.split(...),它会自动给我们一个 String[] 数组,所以你可以根据需要返回它。

于 2012-08-27T22:55:23.153 回答