java - 我如何遍历一个int

标签 java

我得到一个“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();

最佳答案

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

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

示例:如果用户输入 4 , for 语句将评估为 for (int i = 0; i < 4; i++) ,运行循环四次,使用 i具有值 0, 1, 23


如果你想遍历每个数字,你需要把你的 int back to a string首先,然后 loop over each character在这个字符串中:

String numberString = Integer.toString(num);

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

如果您想迭代数字的二进制表示,请查看this问题,可能对你有帮助。


注意:虽然可能不是必需的,但我建议您使用 {} - 将语句 block 括起来,以提高可读性并减少出现此类错误的可能性:

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

关于java - 我如何遍历一个int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35054621/

相关文章:

java - 数组与字符串的大 O 内存

java - 从 java 应用程序中打开 byte[] 作为文件,用户不应该能够编辑该文件

java - 如何在基于 SOAP 的 Web 服务客户端中进行抢先式身份验证

java - 如何在分布式环境中预取 Oracle 序列 ID

java - 使用 servlet 上传文件,但仅在运行时

java - 检测 `char[]` 中的换行符

java - 如何在不在任务栏中添加新任务的情况下创建新的 JFrame

java - 程序不会在 while 循环中进入 try block

java - 将带有背景图像的 JPanel 添加到 JFrame 并绘制它

java servlet 重复帖子