LuvsicPart273 2023-10-03 05:29 采纳率: 66.7%
浏览 3
已结题

Java初学者提问数组数据交换问题


public class change{
public static void main(String[] args){
int arr[]={1,2,3,4,5};
int temp=0;
for(int i=0;i<arr.length-1;i++){
for(int j=arr.length-1;j>0;j--){
temp=arr[i];    
arr[i]=arr[j];    
arr[j]=temp;
}
}
for(int i=0;i<5;i++){
System.out.print(arr[i]+"  ");}
}
}

img


我定义了一个数组{1,2,3,4,5}怎么用两个for嵌套交换数据变成{5,4,3,2,1}呢?请问我上面的代码有什么问题呢

  • 写回答

2条回答 默认 最新

  • a5156520 2023-10-03 09:21
    关注

    逆序数组元素使用一个for循环即可实现。

    代码如下:

    
    
    
    public class change {
        
        public static void main(String[] args) {
            
            int arr[] = { 1, 2, 3, 4, 5 };
            int temp = 0;
            
            int len = arr.length;  // 计算数组的长度
            
            // 遍历数组前半部分元素,让其于后半部分对应的元素交换位置
            for (int i = 0; i < len/2; i++) {
                temp = arr[i];
                arr[i]= arr[len-1-i];
                arr[len-1-i]=temp;
            }
            
            for (int i = 0; i < 5; i++) {
                System.out.print(arr[i] + "  ");
            }
            
            
        }
        
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 创建了问题 10月3日