Java 我如何通过先前的方法生成for循环?

Java 我如何通过先前的方法生成for循环?,java,arrays,loops,for-loop,methods,Java,Arrays,Loops,For Loop,Methods,我当前的代码有两种方法。我正试图让第一个位置与第二个位置切换。例如,输入6和7上的一些。我希望它变成7和6,但在我的例子中,它们是预定义的,并且是两个以上的单个数字 我的第一个方法: static void nameSwitch (int[] array, int pos1, int pos2 ) { int temp = array[pos1]; /*As you all may know, this is the switching of array[pos1

我当前的代码有两种方法。我正试图让第一个位置与第二个位置切换。例如,输入6和7上的一些。我希望它变成7和6,但在我的例子中,它们是预定义的,并且是两个以上的单个数字

我的第一个方法:

static void nameSwitch (int[] array, int pos1, int pos2 ) {

    int temp = array[pos1];       /*As you all may know, this is the switching of 
    array[pos1] = array[pos2];    position 1 and 2.*/
    array[pos2] = temp;

}
我的第二种方法:

static void lastToFirstName() {
    int [] values = {1,2,3,4,5,6,7,8,9,10};
    for(//this is where I am stuck at.)


    System.out.println(Arrays.toString[values]);
 }

我希望输出为[21436587109],我的问题是如何在另一个方法中实现该方法,并获得正确的循环

因此,在我看来,您在
值中每隔一个术语就切换一次

原始输入:

int[] values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
这可以在类似于此的
for
循环中完成,该循环每隔一项“跳转”一次,并相应地执行切换操作:

for (int i = 0; i < values.length; i += 2) {
    nameSwitch(values, i, i + 1);
}
编辑:向
nameSwitch()
方法添加比较功能

您可以编辑
nameSwitch()
,以考虑哪个数字更大;如果
pos1
大于
pos2
,将进行切换。否则,
pos1
小于
pos2
,该方法将立即返回

static void nameSwitch(int[] array, int pos1, int pos2) {

    if (pos1 < pos2) {
        return;
    }

    int temp = array[pos1];
    array[pos1] = array[pos2];
    array[pos2] = temp;

}
静态无效名称开关(int[]数组、int pos1、int pos2){
if(pos1
所以在我看来,您每隔一个术语就要在
值中切换一次

原始输入:

int[] values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
这可以在类似于此的
for
循环中完成,该循环每隔一项“跳转”一次,并相应地执行切换操作:

for (int i = 0; i < values.length; i += 2) {
    nameSwitch(values, i, i + 1);
}
编辑:向
nameSwitch()
方法添加比较功能

您可以编辑
nameSwitch()
,以考虑哪个数字更大;如果
pos1
大于
pos2
,将进行切换。否则,
pos1
小于
pos2
,该方法将立即返回

static void nameSwitch(int[] array, int pos1, int pos2) {

    if (pos1 < pos2) {
        return;
    }

    int temp = array[pos1];
    array[pos1] = array[pos2];
    array[pos2] = temp;

}
静态无效名称开关(int[]数组、int pos1、int pos2){
if(pos1
如果我理解您的问题,此代码将起作用

static void nameSwitch (int[] array, int pos1, int pos2 ) {
    int temp = array[pos1];       /*As you all may know, this is the switching of position 1 and 2.*/
    array[pos1] = array[pos2];    
    array[pos2] = temp;

}
public static void main(String[] args) {
    int [] values = {1,2,3,4,5,6,7,8,9,10};
    int i;
    for(i = 0; i < values.length; i+=2) {
        nameSwitch(values, i, i+1);
    }
    System.out.println(Arrays.toString(values));
 }
静态无效名称开关(int[]数组、int pos1、int pos2){
int temp=array[pos1];/*大家都知道,这是位置1和位置2的切换*/
数组[pos1]=数组[pos2];
数组[pos2]=温度;
}
公共静态void main(字符串[]args){
int[]值={1,2,3,4,5,6,7,8,9,10};
int i;
对于(i=0;i
如果我理解您的问题,此代码将起作用

static void nameSwitch (int[] array, int pos1, int pos2 ) {
    int temp = array[pos1];       /*As you all may know, this is the switching of position 1 and 2.*/
    array[pos1] = array[pos2];    
    array[pos2] = temp;

}
public static void main(String[] args) {
    int [] values = {1,2,3,4,5,6,7,8,9,10};
    int i;
    for(i = 0; i < values.length; i+=2) {
        nameSwitch(values, i, i+1);
    }
    System.out.println(Arrays.toString(values));
 }
静态无效名称开关(int[]数组、int pos1、int pos2){
int temp=array[pos1];/*大家都知道,这是位置1和位置2的切换*/
数组[pos1]=数组[pos2];
数组[pos2]=温度;
}
公共静态void main(字符串[]args){
int[]值={1,2,3,4,5,6,7,8,9,10};
int i;
对于(i=0;i
试试这个

 for(int i=0;i+1<values.length;i=i+2)
 {
    nameSwitch(values, i, i+1);
  }
for(inti=0;i+1试试这个

 for(int i=0;i+1<values.length;i=i+2)
 {
    nameSwitch(values, i, i+1);
  }
用于(int i=0;i+1
公共类开关编号{
公共静态void main(字符串[]args){
lastToFirstName();
}
静态void lastToFirstName(){
int[]值={1,2,3,4,5,6,7,8,9,10};
对于(int i=0;i
}

公共类交换机编号{
公共静态void main(字符串[]args){
lastToFirstName();
}
静态void lastToFirstName(){
int[]值={1,2,3,4,5,6,7,8,9,10};
对于(int i=0;i

}

可能使用递归方法?可能使用递归方法?我明白了。谢谢。如果我有一个数组:5、6、10、3、9、11,我想比较pos1和pos2,如果它更大,我交换,如果不是,我就不交换……我会写出来,我想我现在可以得到它,因为我得到了这个!你可以在
名称开关中比较它ode>method你是什么意思,我可以在我的nameSwitch方法中比较它?如果有的话,它将在一个不同的方法中,有条件比较pos1和pos2。我明白了。谢谢。如果我有一个数组:5,6,10,3,9,11,我想比较pos1和pos2,如果它更大,我交换,如果它不是,我不会交换……我会的在这里,我想我现在可以得到它了,因为我得到了这个!你可以在你的
nameSwitch
方法中比较它,你说我可以在我的nameSwitch方法中比较它是什么意思?如果有的话,它将在一个不同的方法中,有条件比较pos1和pos2。