Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写一个方法,使用循环交换数组中的每两个连续字符串_Java_Arrays_Loops - Fatal编程技术网

Java 编写一个方法,使用循环交换数组中的每两个连续字符串

Java 编写一个方法,使用循环交换数组中的每两个连续字符串,java,arrays,loops,Java,Arrays,Loops,我有以下数组 {"Cecilia", "Jasmine", "David", "John", "Sylvia", "Bill", "Austin", "Bernardo", "Christopher", "Leticia", "Ronaldo"} 它应该打印如下: "Jasmine" "Cecilia" "John" "David" and so on... 以下是我的代码: public static String SwapString(String [] arr) { Stri

我有以下数组

{"Cecilia", "Jasmine", "David", "John", "Sylvia", "Bill", "Austin", "Bernardo", "Christopher", "Leticia", "Ronaldo"}
它应该打印如下:

"Jasmine" "Cecilia" "John" "David" and so on...
以下是我的代码:

public static String SwapString(String [] arr) 
{
    String str;
    String str1;
    if(arr.length%2!=0)
    {
        for (int i=1;i<arr.length-1;i+= 2) 
        {
            str = arr[i-1];
            str1 = arr[i+1];
            System.out.println (arr[i]+str1);

        }
    }
    return " ";
}
公共静态字符串交换(字符串[]arr)
{
字符串str;
字符串str1;
如果(arr.length%2!=0)
{

对于(int i=1;i您只需从0开始,打印当前索引(带空格,无返回行)和以下内容,但在打印时将它们交换,然后再增加2:

String current, next;
for (int i=0 ; i<arr.length-1 ; i+= 2) {
    current = arr[i];
    next = arr[i+1];
    System.out.print(next + " " + current + " ");
}
当前字符串,下一个;

对于(int i=0;i

来说,您似乎走对了方向,但实际上应该交换数组中的元素。另外,不要返回
字符串
。并遵循Java命名约定。例如

public static void swapString(String[] arr) {
    for (int i = 0; i + 1 < arr.length; i += 2) {
        String t = arr[i + 1];
        arr[i + 1] = arr[i];
        arr[i] = t;
    }
}
我得到(按要求)

这可能会有帮助

int i,l=s.length;   
for(i=1;i<l;i+=2)
{
    System.out.println(s[i]);
    //i--;
    System.out.println(s[i-1]);
}
if(l%2!=0)//if the array is of odd length,it will include the last element 
   System.out.println(s[l-1]);
}
inti,l=s.length;

对于(i=1;太好了。到目前为止,你的问题是什么?它做了什么?你希望它做什么?你没有更新数组,不确定你是否认为它看起来像是你在交换
i
后面的一个,在
i
前面的一个,然后将
i
增加两个。这会是什么将前面的一个换成后面的一个,这样它就会与前面的一个交换,然后一旦到达
i+=2
,它就会再次变成后面的一个,等等
[Cecilia, Jasmine, David, John, Sylvia, Bill, Austin, Bernardo, Christopher, Leticia, Ronaldo]
[Jasmine, Cecilia, John, David, Bill, Sylvia, Bernardo, Austin, Leticia, Christopher, Ronaldo]
int i,l=s.length;   
for(i=1;i<l;i+=2)
{
    System.out.println(s[i]);
    //i--;
    System.out.println(s[i-1]);
}
if(l%2!=0)//if the array is of odd length,it will include the last element 
   System.out.println(s[l-1]);
}