A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 liuelxiwd 于 2013-5-21 20:04 编辑
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] arr=new int[]{1,2,3,4,5,6};

  6.                 revArray(arr);
  7.                
  8.                 for(int x=0;x<arr.length;x++)

  9.                 System.out.print(arr[x]);

  10.         }
  11.         public static void revArray(int arr[])//用这个方法来反序
  12.                 {
  13.                
  14.                 for(//这个条件该怎么设定啊)
  15.                         {
  16.                         int m=arr[start];
  17.                         arr[start]=arr[end];
  18.                         arr[end]=m;

  19.                         }
  20.                         
  21.                         }
  22.         
  23.                
  24.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 非常好

查看全部评分

5 个回复

倒序浏览
如果只是反序的话
这样更简单
package com.sdut.day2;

import java.io.*;
import java.util.*;

public class  Test
{
                public static void main(String[] args)
                {
                        int[] arr=new int[]{1,2,3,4,5,6};

                        revArray(arr);
                        

                }
                public static void revArray(int arr[])//用这个方法来反序
                {
                
                        for(int i =0 ;i<arr.length ;i++){
                                System.out.print(arr[arr.length-i-1]+" ");
                        }
                }
                   
                
                        
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

回复 使用道具 举报
非常好,刘磊,继续努力。需要这种问题
回复 使用道具 举报
如果只是反序输出而不用交换数组的值  ,  楼主想复杂了

直接定义 i 的初始值为 arr.length - 1  ;然后  i - - 就行了
  1. class Test   
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] arr=new int[]{1,2,3,4,5,6};
  6.                 revArray(arr);         
  7.         }
  8.         public static void revArray(int arr[])
  9.         {
  10.                  for(int i = arr.length-1;i>=0;i--)
  11.                 {
  12.                        System.out.print(arr[i]+" ");
  13.                  }                        
  14.          }      
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 不错 祥子

查看全部评分

回复 使用道具 举报
楼上答得都不错啊。

兄弟,下面是按你的思维方式来加上的条件。可以通过验证。
  1. class Demo3 {
  2.         public static void main(String[] args) {
  3.                 int[] arr = new int[] { 1, 2, 3, 4, 5, 6 };

  4.                 revArray(arr);

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

  6.                         System.out.print(arr[x]);

  7.         }

  8.         //用这个方法来反序
  9.         public static void revArray(int arr[]){
  10.                
  11.                 for(int start=0, end=arr.length-1; start<arr.length; start++)
  12.                 {
  13.                         if(start<end){
  14.                                 int m=arr[start];
  15.                         arr[start]=arr[end];
  16.                         arr[end]=m;
  17.                         end--;
  18.                         } else{
  19.                                 // 什么也不做
  20.                         }
  21.                 }
  22.      }
  23. }
复制代码
回复 使用道具 举报
非常感谢位!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马