我如何遍历一个int

新手上路,请多包涵

我得到一个“int cannot be dereferenced” 可能是因为它上面有 .lenght,我还能做些什么来遍历 int?

 int num;

System.out.print("Enter a positive integer: ");
num = console.nextInt();

if (num > 0)
for (int i = 0; i < num.lenght; i++)
System.out.println();

原文由 user2803555 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 537
1 个回答

for (int i = 0; i < num; i++)

您的 num 已经是一个数字。所以你的条件就足够了。

Example: If the user enters 4 , the for statement will evaluate to for (int i = 0; i < 4; i++) , running the loop four times, with i having the values 0, 1, 23


如果你想遍历每个数字,你需要先把你的 int 变回一个字符串,然后 循环遍历这个字符串中的每个字符

 String numberString = Integer.toString(num);

for (int i = 0; i < numberString.length(); i++){
    char c = numberString.charAt(i);
    //Process char
}


如果你想迭代你的数字的 _二进制表示_,看看 这个 问题,它可能对你有帮助。


注意: 虽然可能不是必需的,但我建议您在语句块周围使用 {} ,以提高可读性并减少出现此类错误的可能性:

 if (num > 0) {
    for (int i = 0; i < num; i++) {
        System.out.println();
    }
}

原文由 T3 H40 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏