为了交换此数组中的数字,我缺少了什么?JAVA
所以在我的作业中,我已经解决了这个特定java数组的一半(这是一本在线书;在测试阶段,百分比为50%)。然而,我不知道我错过了什么。对于这段代码,我必须使输入反转两个数字(无论请求多少)。我试着在网上寻找类似的情况,但没有人回答我需要的 说明:编写一个方法swapArrayEnds(),用于交换其数组参数的第一个和最后一个元素。例如:Sortaray={10,20,30,40}变成了{40,20,30,10}。阵列的大小可能不同于4为了交换此数组中的数字,我缺少了什么?JAVA,java,arrays,Java,Arrays,所以在我的作业中,我已经解决了这个特定java数组的一半(这是一本在线书;在测试阶段,百分比为50%)。然而,我不知道我错过了什么。对于这段代码,我必须使输入反转两个数字(无论请求多少)。我试着在网上寻找类似的情况,但没有人回答我需要的 说明:编写一个方法swapArrayEnds(),用于交换其数组参数的第一个和最后一个元素。例如:Sortaray={10,20,30,40}变成了{40,20,30,10}。阵列的大小可能不同于4 import java.util.Scanner; publ
import java.util.Scanner;
public class ModifyArray {
// ANYTHING ABOVE THIS COMMENT CANNOT BE MODIFIED
public static void swapArrayEnds(int[] sortArray, int numElem) {
numElem = 4;
int i = 0; // Loop index
int tmpStore = 0; // Temp variable for swapping
for (i = 0; i < numElem; ++i) {
tmpStore = sortArray[i]; // Do swap
sortArray[i] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
}
return;
}
// ANYTHING BELOW THIS COMMENT CANNOT BE MODIFIED
public static void main (String [] args) {
int numElem = 4;
int[] sortArray = new int[numElem];
int i = 0;
sortArray[0] = 10;
sortArray[1] = 20;
sortArray[2] = 30;
sortArray[3] = 40;
swapArrayEnds(sortArray, numElem);
for (i = 0; i < numElem; ++i) {
System.out.print(sortArray[i]);
System.out.print(" ");
}
System.out.println("");
return;
}
}
我不知道我的输入是怎么变成这样的,但它只是把原来的最后一个数字放在原来的第一个前面。第一个和最后一个数字是如何交换的?因为只有端部需要交换,而且这种交换需要只发生一次(不重复),那么:
// Why do you need yo swap it in a cycle, thus many times???
/* Commenting faulty code out
for (i = 0; i < numElem; ++i) {
tmpStore = sortArray[i]; // Do swap
sortArray[i] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
}
*/
// A single time should do
tmpStore = sortArray[0]; // Do swap with the starting end
sortArray[0] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
//为什么你需要在一个周期内交换它,如此多次???
/*注释错误代码
对于(i=0;i
(注意:我想我已经厌倦了无聊的评论/回答,让初学者去做傻事)因为只有末端需要交换,而这种交换需要只发生一次(不重复),怎么样:
// Why do you need yo swap it in a cycle, thus many times???
/* Commenting faulty code out
for (i = 0; i < numElem; ++i) {
tmpStore = sortArray[i]; // Do swap
sortArray[i] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
}
*/
// A single time should do
tmpStore = sortArray[0]; // Do swap with the starting end
sortArray[0] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
//为什么你需要在一个周期内交换它,如此多次???
/*注释错误代码
对于(i=0;i
(注意:我想我已经厌倦了无聊的评论/答案,让初学者去做傻事)
//第一个答案的修正
导入java.util.Scanner;
公共类修改数组{
//任何高于此注释的内容都无法修改
for(int i=0;i
//修复提供的第一个答案
导入java.util.Scanner;
公共类修改数组{
//任何高于此注释的内容都无法修改
for(int i=0;i
您可以尝试下面概述的方法
public static void swapArrayEnds(int[] newArray){
int num = newArray[0] ;
newArray[0] = newArray[newArray.length-1];
newArray[newArray.length-1] = num;
}
您可以尝试下面概述的方法
public static void swapArrayEnds(int[] newArray){
int num = newArray[0] ;
newArray[0] = newArray[newArray.length-1];
newArray[newArray.length-1] = num;
}
我会这样做:
import java.util.Scanner;
公共类修改数组{
/*你的解决方案在这里*/
公共静态无效交换阵列(int[]arr){
int temp=arr[0];
arr[0]=arr[arr.length-1];
arr[arr.length-1]=温度;
}
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
int numElem=4;
int[]sortArray=新int[numElem];
int i;
int userNum;
对于(i=0;i }
我会这样做:
import java.util.Scanner;
公共类修改数组{
/*你的解决方案在这里*/
公共静态无效交换阵列(int[]arr){
int temp=arr[0];
arr[0]=arr[arr.length-1];
arr[arr.length-1]=温度;
}
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
int numElem=4;
int[]sortArray=新int[numElem];
int i;
int userNum;
对于(i=0;i }
每双鞋你换两次。这对我来说太模糊了。我还是个初学者。我知道我必须交换第一个和最后一个数字,但我的代码哪里出错了?我遗漏了什么?@PM77-1“每对数字交换两次。”。错误:他的代码是一个复杂的右滚动。在第一次迭代之后,交换第一个和最后一个。在第二次迭代中,第二个变为最后一个,前一个第一个现在最后一个变为第二个
public static void swapArrayEnds(int sortArray [],int numElem) {
int temp = sortArray[0];
sortArray[0] = sortArray[numElem - 1];
sortArray[numElem - 1] = temp;
}
public static void swapArrayEnds(int[] newArray){
int num = newArray[0] ;
newArray[0] = newArray[newArray.length-1];
newArray[newArray.length-1] = num;
}