这是我第一次在这里提出问题,格式令人讨厌。抱歉
我的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在上面的代码中是如何工作的,因为我已经添加了一个中断来打破循环。