Java 如何运行循环直到方程变为真?
我有3个变量a,b和c。比如说,它们是从1到10的随机数。我想运行一个循环,直到随机数满足方程a+b+c=30,这样我就可以退出循环并运行更多的代码。 任何帮助都是非常感谢的,我刚刚开始学习JAVA,这只是我给自己的一个小项目Java 如何运行循环直到方程变为真?,java,loops,if-statement,Java,Loops,If Statement,我有3个变量a,b和c。比如说,它们是从1到10的随机数。我想运行一个循环,直到随机数满足方程a+b+c=30,这样我就可以退出循环并运行更多的代码。 任何帮助都是非常感谢的,我刚刚开始学习JAVA,这只是我给自己的一个小项目 import java.util.Random; class ClassA{ public static void main(String args[]){ Random randomVariable = new Random();
import java.util.Random;
class ClassA{
public static void main(String args[]){
Random randomVariable = new Random();
int a,b,c;
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
c=a+b;
if(c==10){
System.out.println
("I want to run c=a+b until it becomes true so I can run this.");
}
}
}
while循环在块内运行代码,直到满足条件为止
while (a+b+c != 30) {
// Regenerate numbers.
}
您可以使用多种不同的构造来满足这些约束,但是
while
循环可能是最容易理解的。下面是帮助您入门的示例代码:
import java.util.Random;
class ClassA {
public static void main(String args[]){
Random randomVariable = new Random();
int a,b,c;
//initially generate your random variables
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
c = a + b;
//check if the condition is met
while(a + b + c != 30) {
//if not, regenerate the numbers
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
c = a + b;
}
if(c==10) {
System.out.println("Whatever you want");
}
}
}
你应该研究while循环
while(a+b+c!=30) {
//Your code goes here
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
}
使用while(){}是一个选项,但在本例中,do/while更有意义,因为您总是希望至少尝试一次随机数
do {
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
c = a + b;
} while(a + b + c != 30);
或
当然,循环本身是冗余的,因为您可以在没有循环的情况下确定需要什么
a = randomVariable.nextInt(10);
b = 15 - a;
// a + b == 15 so a + b + c == 30;
如果要确保a
和b
介于0和9之间,则两者都不能小于6(15-9)
由于
c
必须是15,所以不能是10。请参阅。@user3561751我在回答中添加了一个带有注释的示例(使用while循环构造)。如果您需要任何其他信息,请告诉我。祝Java好运!
a = randomVariable.nextInt(10);
b = 15 - a;
// a + b == 15 so a + b + c == 30;
a = randomVariable.nextInt(4) + 6;
b = 15 - a;
// a + b == 15;