Java 我引用的数组位置是否错误?

Java 我引用的数组位置是否错误?,java,Java,嗨,我正在为一个更大的程序编写一个方法,但我一直得到一个错误,即找不到符号。请帮忙 public static int maxInc (char []ch) { int current = 1; int max = 1; if (ch.length == 0) { return 0; } else if (ch.length == 1) { return 1; } else { for (int i = 1; i <

嗨,我正在为一个更大的程序编写一个方法,但我一直得到一个错误,即找不到符号。请帮忙

 public static int maxInc (char []ch)
 {
  int current = 1;
  int max = 1;

  if (ch.length == 0)
  {
     return 0;
  }
  else if (ch.length == 1)
  {
     return 1;
  }
  else
  {
     for (int i = 1; i < ch.length; i++);
     {
        if(ch[i] >= ch[i-1]) //the error is at ch[i] and ch[i-1]
        {
           current++;
           if(current > max)
              max = current;
           else 
              current = 1;   
        }
     } 
     return max;
  }         
   }
publicstaticintmaxinc(char[]ch)
{
int电流=1;
int max=1;
如果(通道长度==0)
{
返回0;
}
else if(通道长度==1)
{
返回1;
}
其他的
{
for(int i=1;i=ch[i-1])//错误在ch[i]和ch[i-1]
{
电流++;
如果(当前>最大值)
最大值=电流;
其他的
电流=1;
}
} 
返回最大值;
}         
}
用于(int i=1;i
问题就在这里,分号。移除它。这样,您的for循环实际上看起来像

 for (int i = 1; i < ch.length; i++) { 
    // do nothing
}
for(inti=1;i

For
”执行下一个块,但您用分号结束了该块。

我认为这行给出了错误:

for (int i = 1; i < ch.length; i++);
for(inti=1;i
修改如下

for (int i = 1; i < ch.length; i++)
for(int i=1;i

如果没有,告诉我哪一行给你错误

这行中有一个分号:

for (int i = 1; i < ch.length; i++);
for(inti=1;i
将其拆下,并按如下方式划线:

for (int i = 1; i < ch.length; i++)
for(int i=1;i
当有一个分号表示正在发生什么时,循环会在什么都没做的情况下发生。这只是一个声明。下面的代码与第二个示例类似:

此示例代码

for (int i = 1; i < ch.length; i++);
{
     if(ch[i] >= ch[i-1])
      {
          current++;
          if(current > max)
              max = current;
          else 
              current = 1;   
       }
} 
for(inti=1;i=ch[i-1])
{
电流++;
如果(当前>最大值)
最大值=电流;
其他的
电流=1;
}
} 
将像这样工作

for (int i = 1; i < ch.length; i++)
{
      //Nothing is happening
}

// i will give error as the declaration was in the above loop
if(ch[i] >= ch[i-1])
{
     current++;
     if(current > max)
        max = current;
      else 
        current = 1;   
 }
for(int i=1;i=ch[i-1])
{
电流++;
如果(当前>最大值)
最大值=电流;
其他的
电流=1;
}

不断出现找不到符号的错误。
什么,你不认为告诉我们“未定义符号”是有用的信息吗?你应该接受一个答案,在答案旁边打上标记,这对你有用。只需访问我们的网页了解更多信息。
for (int i = 1; i < ch.length; i++)
{
      //Nothing is happening
}

// i will give error as the declaration was in the above loop
if(ch[i] >= ch[i-1])
{
     current++;
     if(current > max)
        max = current;
      else 
        current = 1;   
 }