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]);
}