在JAVA中交换数组的相邻元素

时间:2017-09-15 15:23:33

标签: java

q1:编写程序以打印来自给定输入=

的输出

输入:aaa bbb ccc ddd eee fff ggg hhh iii jjj

输出:bbb aaa ddd ccc fff eee hhh ggg jjj iii

解决方案:

package practice;

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

public class happy {
    public static void main(String args[])
    {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        String t;
        String arr[]=new String[n];
        for(int i=0;i<n;i++)
        {
            arr[i]=in.nextLine();
            t=arr[i];
            arr[i]=arr[i+1];
            arr[i+1]=t;
        }
        System.out.println(arr);
    }
}

我哪里出错可以请任何人在java中提供解决方案吗?

1 个答案:

答案 0 :(得分:-1)

使用Java split()方法将输入字符串拆分,并将输出存储到String数组中。从那里变得容易。

 Scanner scanner = new Scanner(System.in);
 String [] inputArr = scanner.nextLine().split(" ");
 for(int i = 0; i < inputArr.length; i++)
 {
    if( ( i+1 ) % 2 == 0 )
    {
        String temp = inputArr[i-1];
        inputArr[i-1] = inputArr[i];
        inputArr[i] = temp;
    }
 }

你是成对的两个人。通过使用当前元素的模数可以很容易地检查对(由于索引的工作方式,将其加1)。当if语句触发时(没有余数),它只是交换两个元素。

您也可以使用内置方法,因此如果您想要更清晰且更有效的方法,请查看https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html上的Java文档。