Java 嵌套for循环

Java 嵌套for循环,java,loops,for-loop,nested,Java,Loops,For Loop,Nested,我对常规for循环有一个不错的初学者理解,但是在Java中,我很难理解嵌套for循环 在我正在研究的问题中,我有一个常量整数,它是一个最大数,然后我要求用户输入4个不同的数字。从这4个输入中,我试图确定哪一个可以放在我声明的常量整数中 IE:如果常量整数是30,用户输入5、9、3和21,它会告诉他们只能使用5、9和3,因为21太大,无法相加 故事形式中的问题是,用户有一个背包,它有一定的重量。该程序要求用户输入4种不同的物品重量,然后决定可以放入袋子中的物品 这是一个学校项目,所以我需要使用嵌套

我对常规for循环有一个不错的初学者理解,但是在Java中,我很难理解嵌套for循环

在我正在研究的问题中,我有一个常量整数,它是一个最大数,然后我要求用户输入4个不同的数字。从这4个输入中,我试图确定哪一个可以放在我声明的常量整数中

IE:如果常量整数是30,用户输入5、9、3和21,它会告诉他们只能使用5、9和3,因为21太大,无法相加

故事形式中的问题是,用户有一个背包,它有一定的重量。该程序要求用户输入4种不同的物品重量,然后决定可以放入袋子中的物品


这是一个学校项目,所以我需要使用嵌套for循环。

任何简单的方法都可以忽略嵌套for循环是嵌套的这一事实。 按照惯例,外循环的增量计数器通常使用
i
,内循环的增量计数器通常使用
j
,这是最重要的一点,在开始时要保持笔直。如果这对您来说是一个混淆点,那么对增量变量使用比字母“i”和“j”更具描述性的名称可能会对您有所帮助,例如
外部
内部


在任何时候,当你试图构造你的程序逻辑时,你只需要把注意力集中在你最直接在里面工作的
for
循环上——至少在你第一次开始学习它们时是这样。

我没有做过任何JAVA,但我知道C差不多是一样的

我想这样做:

int max = 30;
int value = 0;
int counter = 0;
int[] input[4] = new int[5, 9, 3, 21];
bool[] canAddInput[4] = new bool[false, false, false, false];

for(value; value <= max; )
{
    for(counter; counter < 4; counter++)
    {
         value += input[i];
         if(value<=max)
             canAddInput[i] = true;
    }

    if(counter >= 4)
        Break;
}
int max=30;
int值=0;
int计数器=0;
int[]输入[4]=新的int[5,9,3,21];
bool[]canAddInput[4]=新bool[false,false,false,false];

对于(value;value要理解嵌套循环,您可以从简单的示例开始,然后尝试更难的示例。例如,假设您想要制作一个计数器

int i, j;
for (i=0; i <= 9; i++)
{
    for (j=0; j <= 9; j++)
    {
        System.out.println(i+""+j)
    }
}
一旦所有这些都清楚了,您就可以决定嵌套循环的样子。外部循环需要使用哪些变量,内部循环需要使用哪些变量。

package com.examplehub.basics;
ForNestedLoop的公共类{
公共静态void main(字符串[]args){
/*
* ####
* ####
* ####
*/

对于(inti=1;我你真的需要一个循环吗?这不是一个简单的加法吗?他们不能也加上5,3和21(=29)或9和21(=30)?也许如果你能解释一下你不理解的地方或你遇到困难的地方,我们可以更直接地回答你的问题。用户输入是否按顺序处理?比如你从5开始,加9得到14,加3得到17,然后发现你不能再加21?如果是这样,我不明白你需要内斯特做什么d表示循环…不,除了我提到的常数整数外,数字不是静态的。问题基本上是一个人有一个背包,可以装这么多重量/物品。用户输入4个不同物品的重量,然后程序决定它可以携带4个物品中的哪一个。如果重量允许,可以携带多个物品。事实上首先,你可以考虑使用更多描述性的名字。我不确定这是一个好主意。嵌套的循环规模非常大,你需要首先确定它们是否是你在这种情况下真正需要的。抱歉。只是把代码更新到反布尔印象。否则就会出现错误的值。有办法吗?这没有数组,而是通过用户输入(对话框)接收变量的值?现在我只是声明了整数,然后通过用户输入赋值,但我不确定如何正确使用它们。当然是的,但我不确定如何在JAVA中接收这些值。在C#WPF中,您将使用
input[x]=int.Parse(文本块.text)< /C> > C++中使用<代码> CIN >输入[x] < /代码>
00 //here your program entered the outer loop, i has now the value 0, after that, you enter to the inner loop, i remains 0, but j will change in the next iteration
01 // you are still in the first iteration of the outer loop, but the inner loop is on the second
02 // and so on ....
03
04
05
06
07
08
09 // ... until the inner loop finished looping
10 // once the inner loop finished looping, the outer loop changes again, and we are back to the inner loop