如何从给定范围的阵列中打印所有子阵列?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从给定范围的阵列中打印所有子阵列?相关的知识,希望对你有一定的参考价值。
我要打印给定范围为2的数组中的所有子数组。例子
int a[] = 1,2,3,4;
对于上述范围2的子数组,像这样
1,2;
2,3;
3,4;
我有一个可打印数组的所有子数组的类,如下所示
public class PrintSubarrayMain
public static void main(String args[])
PrintSubarrayMain psm=new PrintSubarrayMain();
int arr[]= 1,2,3,4;
psm.printSubArray(arr);
void printSubArray(int arr[])
int n=arr.length;
for (int i=0; i <n; i++) //This loop will select start element
for (int j=i; j<n; j++) //This loop will select end element
for (int k=i; k<=j; k++) //This loop will print element from start to end
System.out.print( arr[k]+" ");
System.out.println();
它给出这样的输出
1
1 2
1 2 3
1 2 3 4
2
2 3
2 3 4
3
3 4
4
但是我不能打印特定范围的子数组?请帮帮我
答案
您可以执行以下操作:
public class PrintSubarrayMain
public static void main(String args[])
PrintSubarrayMain psm = new PrintSubarrayMain();
int arr[] = 1, 2, 3, 4 ;
psm.printSubArray(arr);
void printSubArray(int arr[])
for (int i = 0; i <arr.length-1; i++)
int [] subArr=new int[2];
System.arraycopy(arr,i, subArr, 0, 2);
for (int j=0;j<2;j++)
System.out.print(subArr[j]+ " ");
System.out.println();
输出:
1 2
2 3
3 4
以上是关于如何从给定范围的阵列中打印所有子阵列?的主要内容,如果未能解决你的问题,请参考以下文章