2015-09-18 4 views
-2

этого код может преобразовать десятичный в двоичный, но компилятор проверяет ошибку в передаче массива в функциюпреобразования десятичного в двоичный с помощью Java

rishi.java:33: error: incompatible types 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]); 
       } 
      } 
    } 
+0

Вы можете сообщить об ошибке и форматировать код? – Michael

+0

'new rishi();' не вызывает метод, он создает новый объект 'rishi', поэтому вызывает его конструктор, но вы не должны вызывать методы. Btw в Java каждый класс должен начинаться с большой буквы, поэтому, если 'rishi' является классом, он должен быть' Rishi'. – HyperZ

+0

Я назвал метод, определенный предыдущим классом rishi –

ответ

1

Есть несколько проблем в вашем коде, но причина получение ошибки связано с тем, что вам не хватает return statement в вашем методе dtob(int n). Тип dtob(int n) должен быть int не void, а также он должен возвращать двоичное значение, которое вы вычисляете.

+0

можно отправить отправленный код? –

+0

hw я могу вернуть полное двоичное значение –

Смежные вопросы