继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java5-1 数组的练习

当年话下
关注TA
已关注
手记 124
粉丝 14
获赞 50

1、 数组遍历:依次输出数组中的每一个元素

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

public class ArrayText1   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

        int[]   a = {1,2,3,4,5,6,7};

        for(int x = 0;x < a.length; x++)// a.length是这个数组的长度,x<a.leangth,则限制了x的范围

        {

            if(x   == a.length-1) // x == 6,也就是a[6]=7时

            {

                System.out.print(a[x]+"\n");

            }

            else{

                System.out.print(a[x]   + ",");

            }

        }

    }

}

2、获取数组中的最大值和最小值,用方法来实现快捷

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

分析:

    A:定义一个数组,并对数组的元素进行静态初始化。

    B:从数组中任意的找一个元素作为参照物(一般取第一个),默认它就是最大值。

    C:然后遍历其他的元素,依次获取和参照物进行比较,如果大就留下来,如果小,就离开。

    D:最后参照物里面保存的就是最大值。

*/

public class ArrayText2   {

 

    public static void main(String[]   args) {

        int[]   a = {1,2,3,4,5,6,7,8,9};

         

        int Max = getMax(a);//调用方法

        int Min = getMin(a);

         

        System.out.println("这个数组中最大的数是:"+Max);

        System.out.println("这个数组中最小的数是:"+Min);

 

    }

    public static int getMax(int a[])

    {

        int Max = a[0];   //假设数组中中的一个数是最大值,作为参照数

        for(int x = 0;x < a.length;x++){

            if(Max   < a[x])

            {

                Max   = a[x];

            }

        }

        return Max;

         

    }

    public static int getMin(int a[])

    {

        int Min = a[0];    <span   style="font-size: 9pt; line-height: 25.2000007629395px;">//假设数组中中的一个数是最小值,作为参照数</span>

        for(int x = 0;x<a.length;x++) {="" if(min=""> a[x])

            {

                Min   = a[x];

            }

        }

        return Min;

    }

}</a.length;x++)>

3、数组逆序,运用方法

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

分析:

    A:定义一个数组,并进行静态初始化。

    B:思路

    可以设置2个变量为索引,一个是从头开始计数start,一个是从后面开始计数end,

    再设置一个中间变量temp:

    先把temp=a[end] :a[end]的值赋给temp

    接着a[end]=a[start] :把开头的值赋给后面的

    再a[start]=temp,把temp,也就是刚开始的时候a[end]的值赋给开头。

    这样就完成了互换。

    然后再通过for语句,限制end和start的范围和计算

*/

public class ArrayText3   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

        int[]   a = {1,2,3,4,5};

         

        System.out.println("逆序之前:");

        Array(a);     //正常的数组遍历

     

        System.out.println("逆序之后:");

        Nixu(a);    //倒序后的数组

        Array2(a);     //把倒序后的数组遍历出来

    }

    public static void Array(int[]   a){

        for(int x=0;x <= a.length-1;x++)

        {

            if(x   == a.length-1)

            {

                System.out.print(a[x]+"\n");

            }

            else

            {

                System.out.print(a[x]+"、");

            }

        }        

    }

    public static void Nixu(int[]   a) //不需要返回值,因为2个数组其实是1个数组,元素和地址都一样,用void

    {

        for(<b>int start = 0,end = a.length-1;</b>   start <= end; <b>start++,end-- </b>){

            int temp = a[start];

            a[start]   = a[end];

            a[end]   = temp;

        }

    }

    public static void Array2(int[]   a){

        for(int x=0;x <= a.length-1;x++)

        {

            if(x   == a.length-1)

            {

                System.out.print(a[x]+"\n");

            }

            else

            {

                System.out.print(a[x]+"、");

            }

        }        

    }

}

4、   数组查表法(根据键盘录入索引,查找对应星期)

                  意思是:String[] strArray = {"星期一","星期二",...};

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

/*

数组查表法(根据键盘录入索引,查找对应星期)

    意思是:String[] strArray = {"星期一","星期二",...};

    分析:

        建立数组 String[] strAarray;

        建立键盘输入,直接把输入的数字调入数组中,直接输出:strArray[x]

*/

import java.util.Scanner;

public class ArrayText4   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

        String[]   a = {"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};

         

        Scanner   sc = new Scanner(System.in);

         

        System.out.println("请输入数字0-6");//注意,索引的范围是 0 ~ lenght-1

        int x = sc.nextInt();

         

        System.out.println(a[x]);

    }

}

5、需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

package java5;

/*

需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

 

分析:

    1、定义一个静态变量数组

    2、建立一个方法,参数是  数组和所查询的元素

    3、所查询的元素和数组中的元素进行对比,利用遍历方法依次进行对比,如果有,则返回对应的索引

*/

import java.util.Scanner;

public class ArrayText5   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

        int[]   a = {11,22,33,44,55,66,77,88,99};

        Scanner   sc = new Scanner(System.in);

         

        System.out.println("请输入你想要查询其索引的数:");

        int b =sc.nextInt();

         

        int index = getIndex(a,b); //调用方法getIndex

        System.out.println("你所查询的数字所在的索引是:"+index);

    }

    public static int getIndex(int[]   a,int s) //对应的 int数组,进行遍历对比,s是所想要查询的数

    {

        for(int x=0;x < a.length;x++)

    {

            if(a[x]   == s)

            {

                return x; //注意这里,返回的是查询数据所在的索引

            }

    }

        return -1;//必须这一条,因为所想要查询的数没有在数组里面,要返回一个代表不存在的数。

    }

}

原文链接:http://www.apkbus.com/blog-833059-61664.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP