Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 主系统增量循环中的增量if循环功能_Java_Arrays_Increment - Fatal编程技术网

Java 主系统增量循环中的增量if循环功能

Java 主系统增量循环中的增量if循环功能,java,arrays,increment,Java,Arrays,Increment,我正在尝试制作一个Snake Vs block游戏,但对于这部分代码,我只想在我的网格中输入“count”变量中的值。我不希望每次调用此变量时都将其设置为0。因此,我需要找到一种方法,使我的计数器不会在每次调用时重置 我试图在主循环中加入一个增量循环函数,它也是增量循环 问题是,函数的值总是返回到0,因为每次调用函数时它都重置为零。(因为循环) 如何防止每次调用时将其重置为0?把它放在一个全局变量中是可行的,但我不能为我的作业这样做 下面是我所说的代码的两部分: public static in

我正在尝试制作一个Snake Vs block游戏,但对于这部分代码,我只想在我的网格中输入“count”变量中的值。我不希望每次调用此变量时都将其设置为0。因此,我需要找到一种方法,使我的计数器不会在每次调用时重置

我试图在主循环中加入一个增量循环函数,它也是增量循环

问题是,函数的值总是返回到0,因为每次调用函数时它都重置为零。(因为循环)

如何防止每次调用时将其重置为0?把它放在一个全局变量中是可行的,但我不能为我的作业这样做

下面是我所说的代码的两部分:

public static int choix_case (int nbColonnes) {
    int max = maximum(nbColonnes);
    int random_value = RandomValue();
    int count = 0;

    do {
       if ( random_value == 1) {
          count++;    
       }

       if (random_value == 2) {
          count++; 
       }

       if (random_value == 3) {
          count++;
       }

    } while(count <= max);

    return count;
}
public static int choix_案例(int nbcolones){
int max=最大值(NBColones);
int random_value=RandomValue();
整数计数=0;
做{
如果(随机_值==1){
计数++;
}
if(随机_值==2){
计数++;
}
如果(随机_值==3){
计数++;
}
}而(count所以,听起来您希望在每次调用
choix_case()
时保存本地
count
字段。也就是说,第一次调用时它应该为零,然后每次后续调用都应该“记住”上一次的计数

最简单的方法是让调用代码跟踪它,并将其传递给
choix\u case()

e、 g:


我不确定你想要达到什么目标是完全清楚的。这感觉像是一个XY问题(至少有一点),因此它可能有助于准确地说明您希望代码执行的操作。我正在尝试制作一个Snake Vs block游戏,但对于这部分代码,我只想在我的网格中输入“count”变量的值。我不希望每次调用该变量时都将其设置为0。因此我需要找到一种方法,使计数器不会每次调用时都重置。它是有效的当我将计数器放在全局变量(int count=0;)中,但我不能为我的assigmentOk执行此操作时,请注意,返回的计数值只是一个比从
最大值(int)中得到的值大一的计数
。因此不清楚计算出的计数值是多少,因为您可以使用
max()在调用代码中轻松获取该值
。不幸的是,这个问题实际上是关于调试您编写的一些代码,而不是关于编程的特定问题。您可能需要备份和重新评估。我建议在IDE中运行此问题,并使用简单的调试步骤来找出哪里出了问题。请参阅:最大值返回g的列数ame(变量NBCLONES)除以3。因为我的游戏中每一个林格的值都不能超过这个值。
public static void obtenirNouvelleGrille(int[][] grille, int nbLignes, int nbColonnes)
{
    for(int i = 0; i < nbLignes; i++) {
       // mettre le compteur de balles et de centres à 0
        for(int j = 0; j < nbColonnes;  j++){
            int choix = choix_case(nbColonnes);
            grille[i][j] = choix; // vide                
        }
    }
}
int cumlativeCount = 0;
for(int i = 0; i < nbLignes; i++) {
       // mettre le compteur de balles et de centres à 0
        for(int j = 0; j < nbColonnes;  j++){
            final int choix = choix_case(nbColonnes, cumlativeCount);
            grille[i][j] = choix; // vide  
            cumulativeCount = choix;              
        }
    }
do {
       if (random_value > 0) {
          count++;    
       }
    } while(count <= max);
return count;