Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 在While循环中添加_Java_Loops_Math_While Loop - Fatal编程技术网

Java 在While循环中添加

Java 在While循环中添加,java,loops,math,while-loop,Java,Loops,Math,While Loop,我想在循环中添加一个变量,但我不希望它超过(在第二次迭代中,y将是200)x值,我希望y达到x,但在第一次添加参数100时,我如何实现这一点 int x = 130; int y = 0; while(y<x) { y += 100; } intx=130; int y=0; while(y将您的while(y

我想在循环中添加一个变量,但我不希望它超过(在第二次迭代中,y将是200)x值,我希望y达到x,但在第一次添加参数100时,我如何实现这一点

int x = 130;
int y = 0;
while(y<x)
{
   y += 100;
}
intx=130;
int y=0;
while(y将您的
while(y
更改为
while(y+100

编辑:

也许你正在寻找这个:

int x = 130;
int y = 0;
int addValue = 100;
while(y + addValue < x){
   y += addValue;
}
y = x;
intx=130;
int y=0;
int addValue=100;
而(y+addValue
实现同样目标的更有效方法是(假设x始终为正):


您可以在此处使用if语句。它简单易读,但远不是最短的解决方案。您可以这样做:

// Define your variables
int x = 130;
int y = 0;

    while(y < x) {
       // Check if y would be greater than x if you added 100 to it
       if (y + 100 > x)
          // If so, we won't add 100 to y. We'll just assign x to y.
          y = x;
       else
          // If not, we can safely add 100 to it.
          y += 100;
    }
//定义变量
int x=130;
int y=0;
而(yx)
//如果是这样的话,我们不会把100加在y上。我们只会把x指定给y。
y=x;
其他的
//如果没有,我们可以安全地增加100。
y+=100;
}

干杯!:)

如果你想让y以相等的x结尾,那么键入y=x;如果这是不可接受的,那么我们需要更多的细节。我不明白你在找什么。如果你不想超越x,为什么你的第二次迭代是200次呢?是否要对循环进行130次迭代?如果是这样的话,你应该为循环使用
。谢谢你的评论,但这只是一个例子,我有一个很大的数字,我希望我的第二个数字在某些级别精确到它(比如加100000),因为我使用的是第二个值。这是一个愚蠢的问题,我知道!我应该检查一下,如果y大于x,那么y=x;您的代码实际上相当于
y=x在这种情况下,y永远不会到达x,我希望y在某些迭代中到达,比如首先y+=100,然后y+=30,以达到x@Memento那是错误的
if(y+100>x)//如果是这样,我们不会在y上加100。我们只需要将x指定给y。y=xy=x将有效地增加30是的,我认为我应该这样做,愚蠢的问题;)我同意。我在写这段代码时太匆忙了,以至于我甚至没有注意到它最终有效地完成了什么。非常感谢,克朗彻!:)@纪念品:没有愚蠢的问题。你通过犯错误来学习(我也是)在这种情况下,y永远不会到达x,我希望y在某个迭代中到达,比如首先y+=100,然后y+=30,以达到x@Memento该逻辑实际上相当于
y=x为什么你不能直接设置
y=x
?你的答案是OK,我太困惑了,没有看到这么简单的方法。希望我有足够的声誉来支持你的答案。
// Define your variables
int x = 130;
int y = 0;

    while(y < x) {
       // Check if y would be greater than x if you added 100 to it
       if (y + 100 > x)
          // If so, we won't add 100 to y. We'll just assign x to y.
          y = x;
       else
          // If not, we can safely add 100 to it.
          y += 100;
    }