java - 为什么这不会反转数组?

标签 java

我想了想,尝试了大约一个小时的不同方法,但没有想出任何办法。我不想在这里发帖,因为我想自己弄清楚,但有些东西我没有得到

class Exercise5
{
public static void main ( String[] args )
{
int[] val = {0, 1, 2, 3}; 
int temp;

System.out.println( "Original Array: " 
    + val[0] + " " + val[1] + " " + val[2] + " " + val[3] );

// reverse the order of the numbers in the array
for( temp = 0; temp < val.length; temp++) {

    val[temp] = val[3 - temp];


}



System.out.println( "Reversed Array: " 
    + val[0] + " " + val[1] + " " + val[2] + " " + val[3] );
 }
}

它'用我尝试过的每一个不同策略打印出 3 2 2 3

最佳答案

问题:

温度=0

val[0] =val[3];

温度=1

val[1] =val[2];

温度=2

val[2] =val[1];

温度=3

val[3] =val[0];

解决方案:

使用另一个数组来保存反转值或使用临时变量(0 & 3、1&2)一次交换两个值

关于java - 为什么这不会反转数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919873/

相关文章:

java - RollingFileAppender 以编程方式设置 RollingPolicy

java - 使用相同的输入参数测试 Java 服务器时会产生不同的堆大小结果

java - 在 JToggle 按钮的 Jpanel onclick 中添加或删除 JTextPane

Java swing JTable RowFilter 忽略符号

java - POJO JAXB 注释未转换为 XML

java - Gmail API 导入 AuthorizationCodeInstalledApp 和 LocalServerReceiver 类

java - 在java中使用gss/kerberos身份验证进行抢先身份验证

Java在没有HttpServletRequest的情况下在spring服务中获取上下文url

java - 这个错误是什么意思 : The method. ..is not applicable for the arguments

java - 自动重新加载属性文件