黑马程序员技术交流社区

标题: 看了一上午 没看懂哪里错了,求大神们指点 [打印本页]

作者: 花见花开1991    时间: 2015-12-4 16:10
标题: 看了一上午 没看懂哪里错了,求大神们指点
[code]/*
用方法做数组的反转
*/
class Test2 {
        public static void main(String[] args) {
                int arr1[]={1,2,3,4,5,6};
                //reverse(arr);
                print(arr1);
                /*for (int i = 1; i <arr.length ;i++ ) {
                System.out.print(arr[i]+' ');
                }*/
        }
        /*
        1,明确返回值类型,因为是输出语句,没有返回值,所以用void
        2,明确参数列表,int[] arr
        */
        /*public static void reverse(int[] arr){
                for (int i = 0;i < arr.length/2 ;i++ ) {
                        int temp;
                        temp = arr[i];                                //确定数组的首位做交换
                        arr[i] = arr[arr.length-1-i];
                        arr[arr.length-1-i] = temp;

                }
        }*/
        //做一个数组遍历
        public static void print(int[] arr){
                for (int i = 0;i < arr.length ;i++ ) {
                        System.out.print(arr[i]+' ');
                }
        }

}
作者: 花见花开1991    时间: 2015-12-4 16:14
求大神们指点啊
作者: Hi.。    时间: 2015-12-4 16:49
  1. System.out.print(arr[i]+' ');
复制代码
这条,太粗心了。' ' 改为 “ ”

作者: 八宝    时间: 2015-12-4 17:12
for (int i = 1; i <arr.length ;i++ ) {
                System.out.print(arr[i]+' '); 这里从1开始遍历的话取不到数组中的所有元素
然后将数组元素输出的时候是将他转成String类型输出的+“” 要加双引号。
你反转的操作是正确的 不过最好定义俩变量一个记录开始一个记录结尾这样进行元素互换比较直观。

作者: Yuto吕    时间: 2015-12-4 17:23
Test2的那个你看这句话 System.out.print(arr[i]+' ');
应该改为System.out.print(arr1[i]+' ');

作者: 花见花开1991    时间: 2015-12-4 20:07
Hi.。 发表于 2015-12-4 16:49
这条,太粗心了。' ' 改为 “ ”

还是不行
作者: zqiang    时间: 2015-12-4 21:15
如果能把报错也截图上处理就方便了,不然就以代码的格式上传上来,你这样看的太费劲了
作者: DayBreak    时间: 2015-12-4 21:34
输出语句'  '换成“,”就可以了,字符串和+在一起表示连接,字符和+是运算。请给我分 吧。。
作者: xinxiangchen    时间: 2015-12-4 22:56
打印语句arr[i]+' '时输出的是int型,将空格转成了int型与数组数相加了
空格对应的值为32




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2