JAVA如何使用递归方法实现从1到m中取n(n<=m)个数,并在控制台输出所有情况?

JAVA如何使用递归方法实现从1到m中取n(n<=m)个数,并在控制台输出所有情况?,第1张

使用数组递归

public class Test12 {

static int M = 4

static int N = 3

static int[] a= new int[]{1,2,3,4}

static int[] b = new int[N]

public static void main(String[] args){

C(M,N)

}

static void C(int m,int n){

int i,j

for(i=ni<=mi++) {

b[n-1] = i-1

if(n>1)

C(i-1,n-1)

else {

for(j=0j<=N-1j++)

System.out.print(a[b[j]] + " ")

System.out.println()

}

}

}

}

输出:

1 2 3

1 2 4

1 3 4

2 3 4

这是一个简单的java *** 作数组的题目

第一步骤:首先要使用myeclipse创建一个java工程

这个可以参考:网页链接

或者在百度输入:Servlet类如何映射到URL路径 百度经验

第二步骤:按照题目创建一个测试类Test,你对题目理解应该有偏差

第一题是先创建一个数组m存储个数是n个

这一题你主要的难点是需要知道如何接受输入流

import java.util.Arrays

import java.util.Scanner

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in)

System.out.println("输入需要输入的数组个数:n个")

int n = sc.nextInt()

int[] m = new int[n]

for (int i = 0i <ni++) {

System.out.print("输入第"+(i+1)+"个元素:")

m[i] = sc.nextInt()

System.out.println()

}

System.out.println(Arrays.toString(m))

}

}

第三步骤:也就是第二题主要就是获得最大值和最小值了。

第二题主要就是数组的比较和替换实现还有有一点弯路的,

package test

import java.util.Arrays

import java.util.Scanner

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in)

System.out.println("输入需要输入的数组个数:n个")

int n = sc.nextInt()

int[] m = new int[n]

for (int i = 0i <ni++) {

System.out.print("输入第"+(i+1)+"个元素:")

m[i] = sc.nextInt()

System.out.println()

}

System.out.println("原始数组"+Arrays.toString(m))

int max = m[0]

int maxIndez=0

int min = m[0]

int minIndez=0

for (int i = 0i <m.lengthi++) {

if(m[i]>max){

max=m[i]

maxIndez = i

}

if(m[i]<min){

min=m[i]

minIndez = i

}

}

m[minIndez] = m[0]

m[0] = min

m[maxIndez] = m[m.length-1]

m[m.length-1] = max

System.out.println("替换后数组:"+Arrays.toString(m))

}

}

注意:Scanner sc = new Scanner(System.in)是获得输入数据

java.util.Arrays是集合工具类主要是java、集合常用的 *** 作。

1、功能:随机生成n个数并求和

2、以下是代码(代码里取n=10):

public class Sum {

    public static void main(String[] args) {

        double i//随机生成的数字

        double sum=0

        for(int j=0j<10j++)

        {

            i=(double) Math.random()

            System.out.println("第"+(j+1)+"次生成的数字是"+i)

            sum+=i

        }

        System.out.println("它们的和是:"+sum)

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10841340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存