for循环不能在java中工作

yo *_*lbe -4 java for-loop

我想在java中创建一个二进制转换器.但是我在for循环中遇到错误,说"类型不匹配:无法从int转换为boolean".我已经在线查看,并且正在按照它告诉我的方式行事.这是我的代码.

import java.util.Scanner;
class hsdgsd{
    public static void main(String[] args){
        int[] count = {1,2,4,8,16,32,64,128};
        int[] binary;
        int[] binarynew;
        binary = new int[8];
        binarynew = new int[8];
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        System.out.println(num);
        if (num <= 255){
            for (int i=8; i=0; i--)
            {
                if(num >= count[i]){

                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Stu*_*ske 5

你的for循环正在做它应该做的事情,但是你编写错了.

for (int i=8; i=0; i--)
Run Code Online (Sandbox Code Playgroud)

在这里你说:i = 8并且:perform while (set i to 0) 这没有任何意义.

将其更改为:

for (int i=8; i>0; i--)
Run Code Online (Sandbox Code Playgroud)

编辑:正如TJ指出的那样,你有一个包含8个元素的数组,这意味着最大可能的索引是7(array.size - 1).

要正常工作,它应该是:

for (int i = 7; i >= 0; i--)
Run Code Online (Sandbox Code Playgroud)