gpt4 book ai didi

java - 如何在程序得到有效答案之前提示用户,怎么做N次?

转载 作者:行者123 更新时间:2023-11-30 08:12:08 27 4
gpt4 key购买 nike

我正在尝试制作一个简单的程序,如果用户在数组中输入一个数字,则该数组数字等于的数字将会出现。它工作完美,除非用户输入一个不在数组中的数字,然后在数组中输入一个数字。发生的事情是程序没有在正确的地方显示答案。

Scanner ethan = new Scanner(System.in);

System.out.println("Enter array place: ");
int amount = ethan.nextInt();

int array[] = {2, 4, 9};

for(int i = 0; i<amount; i++)
{
if (amount == 0) {
System.out.println(array[0]);
} else if (amount == 1) {
System.out.println(array[1]);
} else if (amount == 2) {
System.out.println(array[2]);
} else {
System.out.println("Enter integer in array:");
amount = ethan.nextInt();
}
}

最佳答案

你不应该在 for 循环中使用输入的数字

for(int i = 0; i < amount; i++){

如果我输入 0 会怎样?该程序不会运行单个循环。

试试这个,它应该是有效的。我在代码中为您做了一些评论。

int array[] = {2, 4, 9};
Scanner ethan = new Scanner(System.in);

/**
* This gets one valid number from the user
*/
public void getOneNumber() {
/**
* This is our "switch" variable
*/
boolean validIndexGiven = false;

while (!validIndexGiven)

{
/** This is actually called "array index"*/
System.out.println("Enter array index: 0 to " + (array.length - 1));
int index = ethan.nextInt();

/** Here we check if given integer is in the bounds of array.
* No need to check every possible value.
* What if we had array[100]? */
if (index >= 0 && index < array.length) {
/** Amount was a valid number. */
System.out.println(array[index]);
/** Toggling the switch */
validIndexGiven = true;
}
}
}

/**
* This prompts the user for numbers as many times as there are elements in array
*/
public void getManyNumbers() {
int length = array.length;
for (int i = 0; i < length; i++) {
getOneNumber();
}
}

关于java - 如何在程序得到有效答案之前提示用户,怎么做N次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com