Java 我如何通过先前的方法生成for循环?
我当前的代码有两种方法。我正试图让第一个位置与第二个位置切换。例如,输入6和7上的一些。我希望它变成7和6,但在我的例子中,它们是预定义的,并且是两个以上的单个数字 我的第一个方法: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
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。