Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于删除阵列数据的代码无效_Java_Arrays_Function - Fatal编程技术网

Java 用于删除阵列数据的代码无效

Java 用于删除阵列数据的代码无效,java,arrays,function,Java,Arrays,Function,所以我按照我演讲中给出的代码来删除数组中的数据…但是当我显示数据时…看起来数据没有被删除…下面是我的删除函数的方法 public static void delete() { char proceed; do{ int j; boolean delete=false; int arraylength=date.length; System.out.print("Enter the date that you want to delete: "); Strin

所以我按照我演讲中给出的代码来删除数组中的数据…但是当我显示数据时…看起来数据没有被删除…下面是我的删除函数的方法

  public static void delete()
  {
  char proceed;
  do{
  int j;
  boolean delete=false;
  int arraylength=date.length;

  System.out.print("Enter the date that you want to delete: ");
  String deleteDate=input.next();

     for(index=0;index<arraylength;index++)
     {
        if(date[index].equals(deleteDate))
        {
           for(j=index;j<arraylength-1;j++)
           date[j]=date[j+1];
           delete=true;
           break;
           }//if
           }//for
        if (delete==false)
        {
           System.out.println("The date search has not been reserved yet");
           }
           System.out.print("Delete another data?(Y/N): ");
           proceed=input.next().charAt(0);
           }while(proceed=='Y');
publicstaticvoiddelete()
{
继续进行;
做{
int j;
布尔删除=假;
int arraylength=date.length;
System.out.print(“输入要删除的日期:”);
字符串deleteDate=input.next();

对于(index=0;index如果一位讲师写了这篇文章,那么他是在做错误的工作

if (delete=false)
是错误的,即将false赋值给
delete
,如果它们相等,则不进行测试(
=

int j;
当它可以在(int j=index;…)的循环中使用时,没有理由在这里定义它。

arrayLength
可以从
date.length
获取,那么为什么要在它可能出错时传递它呢

 for(index=0;index<arraylength;index++)
    if(date[index].equals(deleteDate))
       for(j=index;j<arraylength-1;j++)
=
比较对象相等和非值相等,即检查两个对象是否相同,而不是两个对象(
String
s在本例中)是否具有相同的值。在本例中,它可以工作,但它是错误的,比较
String
应使用

继续。比较('Y')

或者为了防止多起案件,


继续。toLowerCase().compareTo('y')

如果一位讲师写了这篇文章,那么他是在做错误的工作

if (delete=false)
是错误的,即将false赋值给
delete
,如果它们相等,则不进行测试(
=

int j;
当它可以在(int j=index;…)的循环中使用时,没有理由在这里定义它。

arrayLength
可以从
date.length
获取,那么为什么要在它可能出错时传递它呢

 for(index=0;index<arraylength;index++)
    if(date[index].equals(deleteDate))
       for(j=index;j<arraylength-1;j++)
=
比较对象相等和非值相等,即检查两个对象是否相同,而不是两个对象(
String
s在本例中)是否具有相同的值。在本例中,它可以工作,但它是错误的,比较
String
应使用

继续。比较('Y')

或者为了防止多起案件,


继续。toLowerCase().compareTo('y')

你能把你的代码合理地缩进吗?“delete=false”应该是“delete==false”或“!delete”…并且停止使用容易出错的
if(delete=false)
(比如在你的例子中)。开始使用
if(!delete)
或者像尤达说的
if(false==delete)
。对于初学者,我认为您需要它来读取
if(delete==false)
。顺便说一句,您的循环似乎不会影响/删除数组中的最后一个元素,因此每次将元素向左移动时,您将在最后两个索引中得到该元素的副本,然后在最后三个、四个索引中,依此类推。您可以合理地缩进代码吗?“delete=false”应该是“delete==false”或“!delete”…并停止使用容易出错的
if(delete=false)
(比如在你的例子中)。开始使用
if(!delete)
或像尤达说的
if(false==delete)
。对于初学者,我认为你需要它来阅读
if(delete==false)
。顺便说一句,循环似乎不会影响/删除数组中的最后一个元素,因此每次向左移动元素时,最后两个索引中都会出现该元素的副本,然后是最后三个、四个,依此类推。很遗憾,对于Javascript,这就像一个带有indexOf和copyWithin()的1行程序:)所以当你说我把所有日期都复制回去的时候…那么我应该怎么做才能真正删除输入的日期呢?我对它进行了一点编辑…我声明索引是全局的,因为它也用于其他方法是的,移动是从一个地方复制到另一个地方并删除原始的。不删除原始的是复制,而不是移动
index
不应该是全局的,它应该是特定于正在执行的任何操作的。要么传入它的值,要么在循环中设置它。我理解…所以删除数组的代码似乎是错误的,我猜…如何修复它?你能帮我吗?很遗憾,对于Javascript来说,这就像一个带有indexOf和copyWithin()的1行程序:)所以当你说我把所有日期都复制回来的时候…那么我应该怎么做才能真正删除输入的日期呢?我对它进行了一点编辑…并且我声明索引是全局的,因为它也用于其他方法是的,移动是从一个地方复制到另一个地方并删除原件。不删除原件就是复制,而不是移动。T索引不应该是全局的,它应该是特定于正在执行的任何操作的。要么传入它的值,要么在循环中设置它。我理解…所以删除数组的代码似乎是错误的,我猜…如何修复它?你能帮我吗?