Java,需要帮助创建一个方法来选择数组中的特定元素

时间:2015-02-25 03:44:45

标签: java arrays select command

我创建了几个命令,要求用户向数组添加数字。我现在需要能够让用户选择数组中的特定元素,并在打印时在所选元素上放置*。我将程序分为两类:一类用于存储和管理数组,另一类用于处理用户输入和输出。

例如,这里是处理输入/输出的类中的代码:

else if (cmd.equals("add"))
        {
            // add x command
            int x = input.nextInt();
            list.add(x);
            list.print();
        }

这是类中处理数组的部分:

public void add(int x)
{
    // Expand the list capacity if necessary
    if (count >= list.length)
    {
        // Allocate a new longer list
        int[] newList = new int[list.length + 5];

        // Copy existing numbers to new list
        for (int i = 0; i < list.length; i++)
        {
            newList[i] = list[i];
        }

        // Reassign the list to be the new one
        list = newList;
    }

    // Add x to the end of the list
    list[count] = x;
    count++;
}

这是为了向数组添加条目而创建的命令(如果需要,可以放大数组),现在我只需要帮助创建一个命令,允许用户选择数组中的特定条目并在前面放置一个*它

2 个答案:

答案 0 :(得分:1)

提示用户,然后读入并将所选索引存储在变量中。请检查您的打印循环。

Scanner kb = new Scanner(System.in);
System.out.println("Enter the index of an element:");
int selectedElement = kb.nextInt();

然后打印..

for (int i = 0; i < list.length; i++) { if(i == selectedElement) // and then print out the * in front of it }

答案 1 :(得分:0)

好吧,您总是可以打印出数组,使用索引显示您正在显示的值。您还可以将其显示为索引+ 1,因此它更加用户友好(这样,用户就不会想知道为什么编号从0开始)。例如(这可能是输出的样子):

1) First value.

2) Second value.

3) Third value.

Please enter the number that you would like to print out, then press enter.

用户输入一个值后,您可以从中减去1以获取数组的索引,然后将其打印出来。

我希望我能正确理解你的问题,我希望这会有所帮助。