【发布时间】:2020-10-22 07:55:12
【问题描述】:
我正在编写显示数组简单操作的代码。在我创建的数组中重新插入已删除的元素时,我似乎无法使其工作。我的目标是将另一个元素放在另一个已删除的元素中(当我删除一个元素时,它变为 0)。我的插入案例只是告诉重复输入,它不允许我在某个位置恢复已删除的元素。
case 2:
{
if (limit1 < 5 || limit1 > 20){
System.out.println("Error: Invalid Array Limit");
System.out.println("Press Any Key To Continue...");
new java.util.Scanner(System.in).nextLine();
System.out.print('\u000C');
m();
}
else{
System.out.println("Enter the " + array.length + " numbers now.
Or enter -1 to exit");
int i = 0;
while(i < array.length){
array[i] = in.nextInt();
boolean dups = false;
if(array[i] != -1){
for(int k = 0; k < i; k++)
if(array[k] == array[i])
{
System.out.println("Error: Duplicate Element");
System.out.println("Please Enter Another Value");
dups = true;
break;
}
if(!dups){
i++;}
}
else{
array[i] = 0;
System.out.println("Exit Confirmed");
System.out.println("Press Any Key To Continue...");
new java.util.Scanner(System.in).nextLine();
System.out.print('\u000C');
m();
}
}
System.out.println("You have entered the "+ limit1 + " numbers");
System.out.println("Press Any Key To Continue...");
new java.util.Scanner(System.in).nextLine();
System.out.print('\u000C');
m();
}
}
另一个问题是,如果我输入一个标记值 (-1),它只会使当前输入位置为 0。我只是希望退出案例而不是在该位置放置 0
【问题讨论】:
-
您能否修剪您的代码以仅展示您遇到问题的代码?
-
对不起,从问题或代码中我不清楚问题可能是什么。如果你只是让junit-testcases专注于核心功能而不是使用所有的控制台输入,也许所有这些都是可能的。
标签: java arrays switch-statement sentinel