如何在Java中的二维参差不齐的数组中找到元素的位置?

时间:2019-05-05 00:48:14

标签: java arrays

这是我第一次在这里提出问题,格式令人讨厌。抱歉

我的Java项目是:

“您经营四个计算机实验室。每个实验室包含计算机站,其编号如下表所示:- 实验室编号计算机站编号 1 1-5 2 1-6 3 1-4 4 1-3 ...... 编写一个计算机程序,该程序可用于在实验室中跟踪哪个用户登录到了哪台计算机。例如,如果用户49193登录到实验3的工作站2,而用户99577登录到实验4的工作站1,则您的系统可能显示以下内容: 实验室编号计算机站 1 1:空2:空3:空4:空5:空 2 1:空2:空3:空4:空5:空6:空 3 1:空2:49193 3:空4:空
4 1:99577 2:空3:空 ......“

然后,我被要求搜索该用户并注销该用户。 我找不到根据我到目前为止所学的知识来获取此用户的位置(行和列号)的有效方法。需要以下代码的更正或新方法的建议。 (请不要提供任何幻想的方法,我只是一个在Java上苦苦挣扎的可怜的初学者)

这是我尝试过的:

public static void main(String[] args) {

String [][] matrix = {
{"1:empty","2:empty","3:empty","4:empty","5:empty"},
{"1:empty","2:empty","3:empty","4:empty","5:empty","6:empty"},
{"1:empty","2:empty","3:empty","4:empty"},
{"1:empty","2:empty","3:empty"}
};

//skipped several lines

System.out.println("Enter the ID that you want to search for");
String ID = input.next();
System.out.println("Lab "+ search(ID,matrix)[0]);
System.out.println("Computer station "+ search(ID,matrix)[1]);




}

public static int[] search (String ID,String [][] xArray)
{ 
int row=0;
int column=0;
boolean found=true;
labelA: 
  for (; row<xArray.length; row++)
   {  
       for( ; column<xArray[row].length;column++)
       {
           if (xArray[row][column]==ID)
           {
               break labelA;
           }
           else  
           {
              found=false; 
           }
       }

   }
   if (found=false)
   {
   System.out.println("None");
   }
   else
   {
    int [] result={row,column};
    return result;
   }
    return null;
}

我试图中途打印行和列,但事实证明它们是数组中的最大行和列。我真的不明白cpu在上面的代码中是如何工作的,因为我已经添加了一个中断来打破循环。

0 个答案:

没有答案