Возвращать массив цепочек битов после генерации вместо простой печати - PullRequest
0 голосов
/ 05 марта 2020

Это код от geeksforgeeks, который генерирует и печатает цепочки битов из n бит, но я хочу знать вместо печати массива, как я могу сохранить значения массива или вернуть его, чтобы я мог использовать значения в методе main ,

import java.util.*; 

class GFG 
{ 

// Function to print the output 
static void printTheArray(int arr[], int n) 
{ 
    for (int i = 0; i < n; i++) 
    { 
        System.out.print(arr[i]+" "); 
    } 
    System.out.println(); 
} 

// Function to generate all binary strings 
static void generateAllBinaryStrings(int n, 
                            int arr[], int i) 
{ 
    if (i == n) 
    { 
        printTheArray(arr, n); 
        return; 
    } 

    // First assign "0" at ith position 
    // and try for all other permutations 
    // for remaining positions 
    arr[i] = 0; 
    generateAllBinaryStrings(n, arr, i + 1); 

    // And then assign "1" at ith position 
    // and try for all other permutations 
    // for remaining positions 
    arr[i] = 1; 
    generateAllBinaryStrings(n, arr, i + 1); 
} 

// Driver Code 
public static void main(String args[]) 
{ 
    int n = 4; 

    int[] arr = new int[n]; 

    // Print all binary strings 
    generateAllBinaryStrings(n, arr, 0); 
} 
} 

// This code is contributed by 
// Surendra_Gangwar 

1 Ответ

0 голосов
/ 05 марта 2020
  1. Изменить тип возврата
  2. Добавить оператор возврата

Как это:

// Function to generate all binary strings 
static int[] generateAllBinaryStrings(int n, 
//     ^^^^^ change return type
                            int arr[], int i) 
{ 
    if (i == n) 
    { 
        printTheArray(arr, n); 
        return; 
    } 

    // First assign "0" at ith position 
    // and try for all other permutations 
    // for remaining positions 
    arr[i] = 0; 
    generateAllBinaryStrings(n, arr, i + 1); 

    // And then assign "1" at ith position 
    // and try for all other permutations 
    // for remaining positions 
    arr[i] = 1; 
    generateAllBinaryStrings(n, arr, i + 1); 

    return arr;
//  ^^^^^^^^^^^ add return statement
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...