使用循环填充Java 2D数组输入

时间:2016-10-24 14:43:29

标签: java arrays loops multidimensional-array

我是JAVA的新手,我需要帮助获得某种嵌套循环,我认为对于用户输入并将输入放在数组中。还有一个-1的哨兵。 我知道为别人做作业是不赞成的,这根本不是我要问的。 我希望有人帮忙解释一下,不要为我编写代码。我只是需要帮助才能开始。我无法弄清楚这个计划的第一部分:

我必须使用[4] [5]的2D数组,其中4是销售人员的数量,5是他们销售的产品的数量。我必须向用户询问人员编号(1-4),然后询问销售的产品(1-5)。然后我不得不询问产品的美元价值。

我无法弄清楚如何向用户询问人员编号,然后询问产品和美元价值,而不会出现看起来很糟糕并且反复使用相同代码的大型嵌套循环。我知道有一种更简单的方法可以做到这一点。任何帮助,将不胜感激。提前谢谢。

这是我的输出应该是什么样子。我只是无法找到一种简单的方法来循环它并将元素添加到数组中。

输出:您的输出应以表格格式ALONG以横截面总计反映数组。例如,您的程序应该如下所示:

输入销售人员编号(1-4)或-1以退出并查看数据:

1

输入产品编号(1-5):

1

输入美元值:

1000

输入销售人员编号(1-4)或-1以退出并查看数据:

2

输入产品编号(1-5):

1

输入美元值:

2000

输入销售人员编号(1-4)或-1以退出并查看数据:

2

输入产品编号(1-5):

2

输入美元值:

500

输入销售人员编号(1-4)或-1以退出并查看数据:

-1

3 个答案:

答案 0 :(得分:0)

哪一部分对你不起作用? 我想通过使用像Scanner

之类的东西来获得用户输入

接下来,您可以将2维数组的2个输入存储在临时变量中,然后将第3个输入写入数组中的该位置。

然后在-1的输入处,您可以通过两个互相嵌套的for循环调用数据。

但是,如果没有一个例子或更多的澄清,我不确定你需要什么,我不知道该详细说明。

答案 1 :(得分:0)

我认为问题更多的是关于完成这个过程的方法而不是填充数组。我可能错了,但当你谈到循环时,打印条目的循环不是吗?

如果是,那么在控制台模式下除了执行此循环之外别无选择。但是你绝对可以用它来干净利落。考虑一下State Machine。它可能很复杂,但我认为它可以很好地理解。

答案 2 :(得分:0)

如果您希望在用户退出-1之前读取数据,则可以通过break -1Sales Person Number进行一次无限循环来完成此操作。如果插入记录的数量应该有限制,请添加一个计数器。

while(true){
    //Read Sales Person Number
    if(salesPersonNumber < 0)
        break;
    //Read Product and value
}

带计数器

int counter = 5;
while(counter-->0){
    //code
}

当然,在这两种情况下你也可以使用for循环。