【问题标题】:How to print array without using loop and recursion In java如何在java中不使用循环和递归打印数组
【发布时间】:2016-03-10 04:14:16
【问题描述】:

在我的应用程序中,需要打印数组的值。我不能使用任何循环或递归,并且想打印来自 http 响应的所有值。有任何方法可以在不使用循环或递归的情况下打印 java 数组。 例如 我有数组 int [] ={102,202,..12}。 现在我想将值打印为

102,202 .. 12 .无需维护订单。

【问题讨论】:

  • 整数[] myArray = {2,3,4}; System.out.println(Arrays.asList(myArray));这只是一个技巧......但不是解决方案
  • 看看这个question
  • 最后会使用一个循环,它可能只是隐藏在函数调用后面,因此在程序中不直接可见。

标签: java arrays loops recursion


【解决方案1】:
Method 1:

We can print array without using loop or recursion as

  char [] crr = {'A','B','C','D','E','F'};

  System.out.println(" Print Array ="+ Arrays.toString(crr));

Output: Print Array =[A, B, C, D, E, F] 


Method 2: Firstly we make arraylist from array and then print it .

    String [] brr ={"HTML","PHP","JAVA","C"};

    ArrayList<String> arr= new ArrayList<String>(Arrays.asList(brr));

    System.out.println("ArrayList Is ="+arr);    

来源:Print array without using loop/recursion

【讨论】:

    【解决方案2】:

    请检查这个答案。

    public class Test {
    
        public static void main(String[] args) {
            Test64Numbers();
            Test32Numbers();
            Test4Numbers();
        }
    
        private static int currentNumber = 0;
    
        private static void Test1Number() { System.out.println(++currentNumber); }
        private static void Test2Numbers() { Test1Number(); Test1Number(); }
        private static void Test4Numbers() { Test2Numbers(); Test2Numbers(); }
        private static void Test8Numbers() { Test4Numbers(); Test4Numbers(); }
        private static void Test16Numbers() { Test8Numbers(); Test8Numbers(); }
        private static void Test32Numbers() { Test16Numbers(); Test16Numbers(); }
        private static void Test64Numbers() { Test32Numbers(); Test32Numbers(); }
    }
    

    【讨论】:

      【解决方案3】:

      使用charAt()方法打印数组的元素

      【讨论】:

      • 欢迎来到 SO。您能否给出一个代码示例,您的建议将如何解决原始海报的问题?
      【解决方案4】:

      我们可以使用这个函数来打印任何维度的数组。这在打印时也会格式化为矩阵类型,这提高了可读性。

      public static void printArray(Object[] R){
          System.out.println(Arrays.deepToString(R).replaceAll("],", "]," + System.getProperty("line.separator")));
      }
      

      【讨论】:

      • 为了改善您的答案,也许您可​​以添加一些文字来描述您的解决方案
      【解决方案5】:

      我们也可以使用递归打印数组元素。请看下面的代码。

      // Pass array and x = 0 to the method
      
      private static void printArray(int[] arr, int x) {
          if (x >= arr.length)
          {
              // Return, if x is greater or equal to size of Array.
              return;
          }
      
          // Else print element and recursively call for next element
          System.out.print(arr[x] + “ “);
          printArray(arr, ++x);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-05
        • 2013-08-02
        • 2014-03-30
        • 2014-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多