我有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();
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.");
}
}
}
答案 0 :(得分:1)
为了满足这些约束,您可以使用多种不同的构造,但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");
}
}
}
答案 1 :(得分:0)
while循环在块中运行代码,直到满足条件。
while (a+b+c != 30) {
// Regenerate numbers.
}
答案 2 :(得分:0)
你应该看看while循环。
while(a+b+c!=30) {
//Your code goes here
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
}
答案 3 :(得分:0)
使用while(){}是一个选项,但在这种情况下,do / while更有意义,因为你总是希望从至少一次随机数的尝试开始。
do {
a = randomVariable.nextInt(10);
b = randomVariable.nextInt(10);
c = a + b;
} while(a + b + c != 30);
或
} while(a + b != 15); // since c = a + b
当然,循环本身是多余的,因为您可以在没有循环的情况下确定需要什么。
a = randomVariable.nextInt(10);
b = 15 - a;
// a + b == 15 so a + b + c == 30;
如果您想确保a
和b
介于0和9之间,则两者都不能少于6(15 - 9),所以
a = randomVariable.nextInt(4) + 6;
b = 15 - a;
// a + b == 15;
由于c
必须为15,因此不能为10。