Java 为什么';在数组中查找索引是否有效

Java 为什么';在数组中查找索引是否有效,java,arrays,Java,Arrays,我想知道数组中是否有键值。。但是它不起作用 类解决方案{ 公共int解决方案(int键,int[]数组1){ int-answer=0; for(int i=0;i

我想知道数组中是否有键值。。但是它不起作用

类解决方案{
公共int解决方案(int键,int[]数组1){
int-answer=0;
for(int i=0;i
键:5数组1:[1,2,3,4,5]
回答:4

当您找到匹配项时,或者当您完成循环但未找到匹配项时,应返回答案

如果数组的第一个元素与键不匹配,则应返回-1。您应该首先检查数组的所有其他元素

  public int solution(int key, int[] array1) {
      for(int i=0; i < array1.length; i++) {
          if(array1[i] == key) {
              return i;
          }
      }
      return -1;
  }
公共int解决方案(int键,int[]数组1){
for(int i=0;i
当您找到匹配项时,或当您完成循环但未找到匹配项时,应返回答案

如果数组的第一个元素与键不匹配,则应返回-1。您应该首先检查数组的所有其他元素

  public int solution(int key, int[] array1) {
      for(int i=0; i < array1.length; i++) {
          if(array1[i] == key) {
              return i;
          }
      }
      return -1;
  }
公共int解决方案(int键,int[]数组1){
for(int i=0;i
我认为您需要将键的索引作为输出,并正确地将其作为数组的索引从0开始。
作为5的键的索引是4,这是正确的。

我认为您需要将键的索引作为输出,并且作为数组的索引从0开始正确地得到它。
键as 5的索引是4,这是正确的。

您应该将return置于循环的外部:

class Solution {
  public int solution(int key, int[] array1) {
      int answer = -1;
      for(int i=0; i < array1.length; i++) {
          if(array1[i] == key) {
              answer = i;
          }
      }
      return answer;
  }
}
类解决方案{
公共int解决方案(int键,int[]数组1){
int-answer=-1;
for(int i=0;i
您应该将return置于for循环的外部:

class Solution {
  public int solution(int key, int[] array1) {
      int answer = -1;
      for(int i=0; i < array1.length; i++) {
          if(array1[i] == key) {
              answer = i;
          }
      }
      return answer;
  }
}
类解决方案{
公共int解决方案(int键,int[]数组1){
int-answer=-1;
for(int i=0;i
它不起作用,因为如果键不在数组的第一个位置,则立即返回
-1
,而不检查其他位置。对于这种情况,到目前为止,最好的办法是使用IDE中内置的调试器逐个检查代码语句,以查看出了什么问题。使用调试器不是一项高级技能,它基本上是继“Hello,world”之后您应该学习的下一项技能。快乐编码!:-)它不起作用,因为如果键不在数组的第一个位置,则立即返回
-1
,而不检查其他位置。对于这种情况,到目前为止,最好的办法是使用IDE中内置的调试器逐条检查代码语句,以查看出了什么问题。使用调试器不是一项高级技能,它基本上是继“Hello,world”之后您应该学习的下一项技能。快乐编码!:-)