- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
大家好,我是编码的新手,我正在和一位老师一起上 Java 入门课,希望您已经了解一切。我必须对冰雹序列进行编码,它表示为:
选择一些正整数并将其命名为 n。如果 n 是偶数,则将其除以二。如果 n 是奇数,则将其乘以三并加一。继续这个过程直到 n 等于 1。
我们还没有学过递归或数组,他说我们不需要在这段代码中使用它,尽管我不太清楚那是什么意思。我们将使用序列公式展示获得一个所采取的步骤。
这就是我所拥有的,我有以下问题:
请帮助我识别我哪里出错了并提供解释。我很绝望。
import javax.swing.JOptionPane;
public class Hailstone {
public static void main(String[] args) {
String output = "";
int n;
n = Integer.parseInt(JOptionPane.showInputDialog("\nEnter an Integer"));
while (n != 1) {
int result = 0;
if (n%2 == 0) {
result = n /= 2;
output += n + " is even so I took half = " + result;
JOptionPane.showMessageDialog(null, output);
}else{
result = n*3 + 1;
output += n + " is odd so I took 3n+1 = " + result;
JOptionPane.showMessageDialog(null, output);
}
}
}
}
最佳答案
这条语句:result = n/= 2;
并没有按照您的想法去做。它将n
除以2,将结果存储在n
中,然后也将结果存储在result
中。但是,这不是您的代码的主要问题。
问题是您遗漏了一件非常简单的小事:在循环中更新 n
。没有这个,n
永远不会改变。 (除了我上面提到的意外修改。)
因此,您需要做的(解决上述问题后)如下:
在循环结束之前,添加这一行:
n = 结果;
关于java - 没有递归的冰雹序列(请),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54620110/
所以在我的程序的主体中有一个部分,我在其中调用冰雹函数来回答打印语句中的问题。它不是打印一次序列,而是打印两次,我不知道为什么或如何修复它。有没有办法解决这个问题并从函数 next(n) 中删除打印语
冰雹问题涉及取x,如果它是偶数,则将其除以二。如果是奇数,则乘以 3 再加 1。继续下去,您将得到重复的 4, 2, 1, 4, 2, 1...我在创建循环并让它将解决方案打印到输入 #1-#200
我正在尝试在 Spark 集群上运行一个基本脚本,该脚本接收一个文件,将其转换并以不同的格式输出。目前的 Spark 集群由 1 个主节点和 1 个从节点组成,两者都运行在同一节点上。完整的命令是:
我是一名优秀的程序员,十分优秀!