打印数组

打印数组

3-2练习题

按照练习题,并不能“打印数组”,需要加for循环,才能输出数组元素。


加了for循环,每输出一个元素,都要输出“打印数组”。怎样做,才能只显示一次文字?


如:打印数组:a={5,7,6}


截图

https://img1.sycdn.imooc.com//climg/6260e9be084cc54214400860.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class ArrayMethodE3_2 {
    //
    public void display(int[] a) {
        for(int i=0;i<a.length;i++) {
            System.out.print("打印数组:"+a[i]+"   ");
        }
    }
 
    public static void main(String[] args) {
        int[] arr= {5,7,6};
        ArrayMethodE3_2 method=new ArrayMethodE3_2();
        method.display(arr);       
    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

    同学你好,这里可以使用字符串拼接的方式实现。实现的思路如下:

        1.在遍历数组之前,声明一个字符串,这个字符串的内容不包含数组元素,例如"打印数组:array={";

        2.遍历数组,将每一个元素都拼接到上面的字符串中,并且每个元素拼接完成之后,要拼接逗号作为分隔;

        3.但是第二步中有个小问题,最后一个元素应当特殊处理,因为最后一个元素拼接完成之后,内容已经完整,不应当再拼接逗号;

        4.当将数组元素都拼接完成之后,再拼接上未完整的大括号即可。

    实现的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(String[] args) {
    int[] array = {2,1,4,7,3,6,4,8};
    //声明字符串的起始
    String str = "打印数组:array={";
    //遍历数组,将每个元素的值拼接在str上
    for (int i = 0; i < array.length; i++) {
        //如果不是最后一个元素,则拼接逗号
        if(i != array.length - 1) {
            str = str + array[i] + ",";
        }else {
        //如果是最后一个元素,则不拼接逗号
            str = str + array[i];
        }
    }
    //拼接后半的大括号
    str = str + "}";
    System.out.println(str);
}

    祝学习愉快~


  • EllaAzure 提问者 #1

    结合本题,提取方法,是不是应该这样 ↓

    https://img1.sycdn.imooc.com//climg/62621894086be7d114400860.jpg

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class ArrayMethodE3_2AE {
         
        public void display(int[] a) {
            // 声明字符串的起始
            String str = "打印数组:array={";
            // 遍历数组,将每个元素的值拼接在str上
            for (int i = 0; i < a.length; i++) {
                // 如果不是最后一个元素,则拼接逗号
                if (i != a.length - 1) {
                    str = str + a[i] + ",";
                else {
                    // 如果是最后一个元素,则不拼接逗号
                    str = str + a[i];
                }
            }
            // 拼接后半的大括号
            str = str + "}";
            System.out.println(str);
        }
         
        public static void main(String[] args) {
            int[] array = { 21473648 };
            ArrayMethodE3_2AE method=new ArrayMethodE3_2AE();
            method.display(array);
        }
    }


    2022-04-22 10:53:51
  • 好帮手慕小蓝 回复 提问者 EllaAzure #2

    同学你好,这样的实现是正确的。

    祝学习愉快~

    2022-04-22 16:00:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码