我想生成一个数字序列,其中:我想通过以下方式计算序列中的下一个数字:(如果数字是偶数,则将其除以2)和(如果数字是奇数,则将其乘以3并加1)。
我正在使用ASCIIPrompter,输入的起始号码是29。
最终显示应按顺序重复显示数字,并根据上述猜想生成下一个数字。我的代码的问题是“ num =偶数”给我一个错误,我不知道如何解决此错误。非常感谢您的帮助。
import java.awt.*; // for Color class
import static BasicIO.Formats.*; // for getCurrencyInstance, etc.
import static java.lang.Math.*; // for math constants and functions & random
import static java.awt.Color.*; // for Color constants (e.g. RED)
public class sequence {
private ASCIIDisplayer display;
private ASCIIPrompter prompt;
public sequence() {
display = new ASCIIDisplayer();
prompt = new ASCIIPrompter();
int num;
prompt.setLabel("starting Number");
num = prompt.readInt();
for (int i = 1; i <= 5; i++) {
if (num = even) {
num = num / 2;
} else {
if (num = odd) {
num = num * 3 + 1;
}
}
display.writeDouble(num);
}
display.close();
prompt.close();
}; // constructor
public static void main(String[] args) {
sequence c = new sequence();
};
}
最佳答案
=是一项转让
if (num = even) {
那实际上分配了(undefined?)值甚至变量num。尝试以下方法:
if (num % 2 == 0) {
如果可以简单地使用
} else {
而不是单独检查奇数-整数没有第三种情况。关于java - 与ASCII Displayer有关的Dr.Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34148952/