Java 顺序搜索算法

Java 顺序搜索算法,java,arrays,Java,Arrays,大家好,我在创建顺序 二维整数数组的搜索算法。我不确定如何扩展while循环以使其正常工作,我正在使用的示例正是我编写它的方式,正如您所看到的,我的编译器正在抱怨它的编写方式不兼容 import java.util.*; import javax.swing.*; public class pencilneck { public static void main(String []alex) { int ROWS = 6; int COLS =

大家好,我在创建顺序 二维整数数组的搜索算法。我不确定如何扩展while循环以使其正常工作,我正在使用的示例正是我编写它的方式,正如您所看到的,我的编译器正在抱怨它的编写方式不兼容

  import java.util.*;
      import javax.swing.*;
      public class pencilneck
  {
    public static void main(String []alex)
  {
  int ROWS = 6;
  int COLS = 3;
  int[][] chargeAcc = new int[ROWS][COLS];
  Scanner keyboard = new Scanner(System.in);

  for(int row = 0; row < ROWS; row++)
     {
        for(int col = 0; col < COLS; col++)
        {
           System.out.print("Enter Account");
           chargeAcc[row][col] = keyboard.nextInt();
        }
     }

     System.out.print("Enter an account to be Charged");
     int input = keyboard.nextInt();
     int results = SequentialSearch(chargeAcc,input);

     if(results ==-1)
     {
        System.out.println("that is an invalid #");
     }
     else
     {
        System.out.println("the # is valid");
     }

}

您的问题没有什么意义,但代码中的bug很容易找到

while(!found && index1 == value)
用简单的英语说,当这些条件都成立时,在循环中进行操作:

  • 发现是假的
  • 索引(数组的索引)等于值(要在数组中查找的数字)
  • 在循环的开始处,index==0。由于值可能非零,第二个条件为false,循环从不运行,导致SequentialSearch立即返回-1


    既然您知道了问题所在,我就让您花时间来理解您做错了什么,并找出解决方法。

    您的问题没有什么意义,但代码中的错误很容易找到

    while(!found && index1 == value)
    
    用简单的英语说,当这些条件都成立时,在循环中进行操作:

  • 发现是假的
  • 索引(数组的索引)等于值(要在数组中查找的数字)
  • 在循环的开始处,index==0。由于值可能非零,第二个条件为false,循环从不运行,导致SequentialSearch立即返回-1


    既然您知道了问题所在,我就让您花点时间来理解您做错了什么,并找出解决方法。

    数组[index]不是int,而是数组

    我想你要找的是这样的东西:

    enter code here
    import java.util.*;
      import javax.swing.*;
      public class pencilneck
    {
    public static void main(String []alex)
    {
      int ROWS = 6;
      int COLS = 3;
      int[][] chargeAcc = new int[ROWS][COLS];
      Scanner keyboard = new Scanner(System.in);
    
      for(int row = 0; row < ROWS; row++)
      {
        for(int col = 0; col < COLS; col++)
        {
           System.out.print("Enter Account");
           chargeAcc[row][col] = keyboard.nextInt();
        }
     }
    
     System.out.print("Enter an account to be Charged");
     int input = keyboard.nextInt();
     int results = SequentialSearch(chargeAcc,input);
    
     if(results ==-1)
     {
        System.out.println("that is an invalid #");
     }
     else
     {
        System.out.println("the # is valid");
     }
    
    在此处输入代码
    导入java.util.*;
    导入javax.swing.*;
    公共级铅笔颈
    {
    公共静态void main(字符串[]alex)
    {
    int行=6;
    int COLS=3;
    int[][]chargeAcc=新int[行][COLS];
    扫描仪键盘=新扫描仪(System.in);
    对于(int row=0;row
    }

    publicstaticintsequentialsearch(int[][]数组,int值)
    {
    int rowIndex=0;
    int元素=-1;
    布尔值=false;
    而(!found&&index1!=值)
    {
    
    for(int i=0;i数组[index]不是int,而是数组

    我想你要找的是这样的东西:

    enter code here
    import java.util.*;
      import javax.swing.*;
      public class pencilneck
    {
    public static void main(String []alex)
    {
      int ROWS = 6;
      int COLS = 3;
      int[][] chargeAcc = new int[ROWS][COLS];
      Scanner keyboard = new Scanner(System.in);
    
      for(int row = 0; row < ROWS; row++)
      {
        for(int col = 0; col < COLS; col++)
        {
           System.out.print("Enter Account");
           chargeAcc[row][col] = keyboard.nextInt();
        }
     }
    
     System.out.print("Enter an account to be Charged");
     int input = keyboard.nextInt();
     int results = SequentialSearch(chargeAcc,input);
    
     if(results ==-1)
     {
        System.out.println("that is an invalid #");
     }
     else
     {
        System.out.println("the # is valid");
     }
    
    在此处输入代码
    导入java.util.*;
    导入javax.swing.*;
    公共级铅笔颈
    {
    公共静态void main(字符串[]alex)
    {
    int行=6;
    int COLS=3;
    int[][]chargeAcc=新int[行][COLS];
    扫描仪键盘=新扫描仪(System.in);
    对于(int row=0;row
    }

    publicstaticintsequentialsearch(int[][]数组,int值)
    {
    int rowIndex=0;
    int元素=-1;
    布尔值=false;
    而(!found&&index1!=值)
    {
    
    对于(int i=0;iYou写道,你的编译器在抱怨你的代码,但确切的信息是什么?你是……认真地……要求……整个网络社区……调试……一个……顺序……搜索……算法?真的吗?…@MikeRobinson公平地说,社区存在,为什么不存在?回应或缺乏回应将是一个教训赛尔夫:“是的!”我们都是从某个地方开始的,不是吗?你写道你的编译器在抱怨你的代码,但确切的信息是什么?你是…认真地…要求…整个网络社区…调试…一个…顺序的…搜索…算法?真的吗?…@MikeRobinson公平地说,社区存在,为什么不存在?响应或缺乏ereof本身就是一个教训。“是的!”我们都是从某个地方开始的,不是吗?