Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中交换两个日期_Java - Fatal编程技术网

如何在java中交换两个日期

如何在java中交换两个日期,java,Java,这是我的密码。我错过了什么 public class Date { public static void main(String[] args) { Date dt[] = new Date[2]; dt[0] = new Date(1,2,3); dt[1] = new Date(4,5,6); System.out.println("Before: "+dt[0]+" "

这是我的密码。我错过了什么

public class Date {

    public static void main(String[] args) {
        Date dt[] = new Date[2];
          dt[0] = new Date(1,2,3);
          dt[1] = new Date(4,5,6);

        System.out.println("Before: "+dt[0]+" "+dt[1]);
        swap(dt[0],dt[1]);
        System.out.println("After: "+dt[0]+" "+dt[1]);
    }
    public void swap(Date dArr[]){
        Date temp ;
        temp = dArr[0];
        dArr[0]=dArr[1];
        dArr[1]=temp;
    }
}


输入:d1=1/2/3 d2=4/5/6 输出:d1=4/5/6 d2=1/2/3{
public class Date {

    public static void main(String[] args) {
        Date dt[] = new Date[2];
          dt[0] = new Date(1,2,3);
          dt[1] = new Date(4,5,6);

        System.out.println("Before: "+dt[0]+" "+dt[1]);
        dt = swap(dt);
        System.out.println("After: "+dt[0]+" "+dt[1]);
    }
    public static Date[] swap(Date dArr[]){
        Date temp ;
        temp = dArr[0];
        dArr[0]=dArr[1];
        dArr[1]=temp;
        return dArr;
    }
}
日期温度; 温度=dArr[0]; dArr[0]=dArr[1]; dArr[1]=温度; } 您的
swap
方法将
[]Date
作为参数,并交换给定数组的第一个和第二个元素

现在,您可以这样调用
swap
方法:

swap(dt[0],dt[1]);
您实际上传递了两个
Date
对象。
swap
方法创建一个隐式的
[]Date
对象作为输入参数,其第一个元素是
dt[0]
,第二个元素是
dt[1]
。请注意,此日期数组与您的
日期dt[]
不同,它们彼此独立。您可以将
Date dArr[]
视为包含两个指向旧
Date dt[]
Date
对象的指针。当您调用
dArr[0]=dArr[1]
,只需将指针指向另一个日期对象,就不能影响
datedt[]
中的元素

如果要更改原始的
日期dt[]
,应将dt本身作为参数传递:

swap(dt)
公共无效掉期(日期为[]){
日期温度;
温度=dArr[0];
dArr[0]=dArr[1];
dArr[1]=温度;
}
您的
swap
方法将
[]Date
作为参数,并交换给定数组的第一个和第二个元素

现在,您可以这样调用
swap
方法:

swap(dt[0],dt[1]);
您实际上传递了两个
Date
对象。
swap
方法创建一个隐式的
[]Date
对象作为输入参数,其第一个元素是
dt[0]
,第二个元素是
dt[1]
。请注意,此日期数组与您的
日期dt[]
不同,它们彼此独立。您可以将
Date dArr[]
视为包含两个指向旧
Date dt[]
Date
对象的指针。当您调用
dArr[0]=dArr[1]
,只需将指针指向另一个日期对象,就不能影响
datedt[]
中的元素

如果要更改原始的
日期dt[]
,应将dt本身作为参数传递:

swap(dt)

这个程序的输出是什么?日期是什么样的
swap
的类型没有意义:你给它传递两个
Date
对象,但是您给我们的
swap
的定义需要一个数组。添加日期类代码并检查您要传递的参数它看起来一点都不重要
Date
的实现。这个程序的输出是什么?
Date
看起来像什么
swap
的类型没有意义:您传递两个
Date
对象,但是您提供给我们的
swap
的定义需要一个数组。添加日期类代码并检查您要传递的参数它看起来根本不重要
Date
的实现。它抛出错误:-java:非静态方法swap(日期[])无法从静态上下文引用是的,您无法从静态上下文调用非静态方法,因此我将
交换函数设置为static
error fixedIt抛出错误:-java:非静态方法交换(日期[])无法从静态上下文引用是的,您无法从静态上下文调用非静态方法,因此我将
交换函数设置为static
错误修复
package le9_ps1;
//import java.util.Date;

/* **********************************************************************  *
 *                           Exercise-9                                    *
 *   Objective: Pass parameters to methods - by value and by  reference.   *
 *                                                                         *
 *   Pre-condition: Date class should be created.                          *
 *   Problem Statement-1: Use the Date class created in Lab Ex1 to Swap two*
 *      Dates(Hint:use call by value method).                              *
 *  *********************************************************************  */


public class Date {
    int d,m,y;
    public Date(int dd, int mm, int yy) {
        this.d= dd;
        this.m = mm;
        this.y = yy;
    }



    public static void main(String[] args) {
        Date dt[] = new Date[2];
                dt[0] = new Date(1,2,3);
                dt[1] = new Date(4,5,6);

                System.out.println("Before: "+dt[0].d+"/"+dt[0].m+"/"+dt[0].y+ "  "+dt[1].d+"/"+dt[1].m+"/"+dt[1].y);
                dt=swap(dt);
                System.out.println("After: "+dt[0].d+"/"+dt[0].m+"/"+dt[0].y+ "  "+dt[1].d+"/"+dt[1].m+"/"+dt[1].y);
    }
    public static Date[] swap (Date dArr[]){
        Date temp ;
        temp = dArr[0];
        dArr[0]   =  dArr[1];
        dArr[1]  =   temp;
        return dArr;
    }
}

output:

"C:\Program Files\Java\jdk-15.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=1054:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Tukaram\Desktop\Exercise\ch3_le2\out\production\chapter4 le9_ps1.Date
Before: 1/2/3  4/5/6
After: 4/5/6  1/2/3

Process finished with exit code 0