通过java将十进制转换为二进制

时间:2015-09-18 15:58:07

标签: java

此代码可以将十进制转换为二进制,但编译器在将数组传递给函数

时检查了一些错误
  

rishi.java:33:错误:不兼容的类型b [i] = dtob(a [i]); ^ required:int found:void 1 error

import java.util.Scanner;
class Rishi {

    public static void dtob(int n){

            int a[]=new int[25];  
            int binary[] = new int[25];
            int index = 0;

            while(a[n] > 0){

            binary[index++] = a[n]%2;
            a[n] = a[n]/2;

            }

            for(int i = index-1;i >= 0;i--){
            System.out.print(binary[i]+"   ");
            }
       }  

    //enter code here

   public void main(String args[]){

            Scanner sc =new Scanner(System.in);

            int a[]=new int[25];
            int b[]=new int[25];
            int t,i,j;

            for(i=0;i<5;i++){
                a[i]=sc.nextInt();
                }

            for(i=0;i<5;i++){

                Rishi dtb = new Rishi();//calling 
                b[i]=dtob(a[i]);

                System.out.println(b[i]); 
                }
            }
    }

1 个答案:

答案 0 :(得分:1)

您的代码中存在多个问题,但导致错误的原因是您在return statement方法中遗漏了dtob(int n)dtob(int n)的类型应为int而非void,并且还应返回您正在计算的二进制值。