我需要编写一个程序,询问用户数组大小,然后用户将输入这些值。之后,我需要让用户删除其中一个值,程序将其替换为零。所以我需要在for循环内编写一个if语句,以检查是否在数组中找到了用户输入的数字,或者没有将其替换为零。但是我需要使用一个布尔值和一个标志,我不确定如何做到这一点。到目前为止,我已经知道了,但是没有用。
System.out.println("Enter the value to search and remove: ");
// Use your Scanner to get a value for search
int valueToRemove = scan.nextInt();
// To search, we can iterate all values, record the index of target (t),
// and then shift to the left values from t to the end.
boolean isFound = false;
for (int i = 0; i < arraySize; i++)
{
if (i == valueToRemove){
}
// Set a flag isFound
//
if (isFound = true) {
// if i + 1 is available
// move element i + 1 to index i
i = (i+1);
}
// if i + 1 is not available
else
// set element i as zero
i=0;
}
if (isFound)
{
System.out.println("Search element found");
}
else
{
System.out.println("Search element NOT found");
}
// ============================================================
// Display the final array
System.out.println("\nThe final array");
for (int i = 0; i < arraySize; i++)
{
// Print ith element, do NOT include line break
System.out.print(integerArray[i]+ ", " );
}
// Print a line break
System.out.println();
}
}
答案 0 :(得分:0)
在循环内部仅使用以下代码:
isFound = (a[i] == valueToRemove);
if (isFound) {
a[i] = 0;
break;
}
isFound
是标志,如果数组项true
等于a[i]
,则它得到valueToRemove
。
如果此标志为true
,它将项目的值更改为0 enter code here
并退出循环。
我将a
用于数组,将其更改为变量的名称。
我猜arraySize
是一个保存数组大小的变量。