我创建了几个命令,要求用户向数组添加数字。我现在需要能够让用户选择数组中的特定元素,并在打印时在所选元素上放置*。我将程序分为两类:一类用于存储和管理数组,另一类用于处理用户输入和输出。
例如,这里是处理输入/输出的类中的代码:
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++;
}
这是为了向数组添加条目而创建的命令(如果需要,可以放大数组),现在我只需要帮助创建一个命令,允许用户选择数组中的特定条目并在前面放置一个*它
答案 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以获取数组的索引,然后将其打印出来。
我希望我能正确理解你的问题,我希望这会有所帮助。