Java 程序不调用正确的方法,继续循环回到第一个菜单。(爪哇)
好的,我有一个小程序作为联系人列表。它是从一个2d数组构建的,需要用户输入来填充总共10个联系人;因此,数组是10行4列,由名字、姓氏、电话号码和年龄组成。 有一个菜单,用户可以选择1添加联系人,2删除联系人,3显示联系人,4退出程序。我知道这看起来可能是一种粗糙的暴力方法,但要求我们不要使用任何东西,只使用我们迄今为止学到的东西,其中不包括ArrayList、LinkedList、Collections、HashMaps等方法。 我的问题是,在我删除联系人之前,该程序工作正常。当我再次看到菜单时,我想重新添加一个联系人,它只是循环回到菜单。这一定是某种小的语法错误,但我不确定在哪里。我将显示代码以及输出,以了解它在哪里开始出错。 *注意:我不是要求代码本身,而是建议和指导,让我意识到哪里出了问题 代码:Java 程序不调用正确的方法,继续循环回到第一个菜单。(爪哇),java,arrays,user-input,nested-loops,Java,Arrays,User Input,Nested Loops,好的,我有一个小程序作为联系人列表。它是从一个2d数组构建的,需要用户输入来填充总共10个联系人;因此,数组是10行4列,由名字、姓氏、电话号码和年龄组成。 有一个菜单,用户可以选择1添加联系人,2删除联系人,3显示联系人,4退出程序。我知道这看起来可能是一种粗糙的暴力方法,但要求我们不要使用任何东西,只使用我们迄今为止学到的东西,其中不包括ArrayList、LinkedList、Collections、HashMaps等方法。 我的问题是,在我删除联系人之前,该程序工作正常。当我再次看到菜单
我在这里发现了一个问题:
if(contactList[i][j] == null) {
contactList[i][j] = (" "); //if user displays before all contacts are entered, it will display blank rather than null null null, etc.
}
我将其更改为仅在联系人不为空时显示联系人,如下所示:
if(contactList[i][j] != null) {
System.out.print(contactList[i][j] + " ");
}
我现在可以返回菜单并添加另一个联系人。我希望输出不会留下空白,但我会自己解决,因为这与我原来的帖子无关
虽然我不知道为什么会出现这个问题,因为我没有收到任何答案或评论,只有一次毫无意义的否决票,但我至少解决了我的问题。
我唯一的猜测是,当我将联系人分配给null,然后将null值分配给空白时,程序认为从技术上讲它仍然是满的,因为数组中现在填充了空格的unicode值\u0020。因此,我在输出中尝试美学,在程序中造成了中断 否决票?认真地没有理由吗?好吧,我猜问答论坛实际上不是问答论坛。似乎合法。
if(contactList[i][j] == null) {
contactList[i][j] = (" "); //if user displays before all contacts are entered, it will display blank rather than null null null, etc.
}
if(contactList[i][j] != null) {
System.out.print(contactList[i][j] + " ");
}