Java IF语句中的日期类

Java IF语句中的日期类,java,date,if-statement,string-concatenation,Java,Date,If Statement,String Concatenation,这是我的代码: import java.util.*; import java.io.*; import type.lib.GlobalCredit; import type.lib.CreditCard; import java.text.SimpleDateFormat; public class eCheck08A { public static void main(String[] args) { PrintStream out = System.out

这是我的代码:

import java.util.*;
import java.io.*;
import type.lib.GlobalCredit;
import type.lib.CreditCard;
import java.text.SimpleDateFormat;

public class eCheck08A
{
    public static void main(String[] args)
    {
        PrintStream out = System.out;
        Scanner in = new Scanner(System.in);

        GlobalCredit credit1 = new GlobalCredit().getRandom();

        out.print("Enter report range in years ... ");
        int range = in.nextInt();
        out.println("Cards expiring before " + range + " year(s) from now: ");

        SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy");

        for (CreditCard cc : credit1)
        {
            out.print(cc.getNumber());
            out.println("\t" + sf.format(cc.getExpiryDate()));
        }   
    }
}
首先,我的应用程序要求输入范围年,假设我们输入“3”。我想在低于范围数字的任何年份的日期旁边加一个“*”。我假设Java假设日期是今天,也就是2012年7月23日。例如,如果我们得到2013年4月16日,我想在它旁边加一个“*”。但如果我们获得2016年5月23日,则不会出现“*”

编辑:

  Date endDate = new Date(2015, 12, 31);
    for (CreditCard cc : credit1)
    {
        if (cc.getExpiryDate().compareTo(endDate) < 0)
        {
            if(cc.getExpiryDate().compareTo(endDate) > 0)
            {
                out.print("*");
            }
            out.print(cc.getNumber());
            out.println("\t" + sf.format(cc.getExpiryDate()));
                     }
            }
Date endDate=新日期(2015年12月31日);
用于(信用卡抄送:credit1)
{
if(cc.getExpiryDate().compareTo(endDate)<0)
{
如果(cc.getExpiryDate().compareTo(endDate)>0)
{
输出。打印(“*”);
}
out.print(cc.getNumber());
out.println(“\t”+sf.format(cc.getExpiryDate());
}
}

范围是

,因为这是家庭作业,我不会给你完整的代码


Java Date类允许使用该方法比较两个日期。试着创建一个精确到未来
年的日期,并找出信用卡的到期日期是否晚于该日期。

因为这是家庭作业,我不会给你完整的代码


Java Date类允许使用该方法比较两个日期。尝试创建一个精确到未来
年的日期,并查找信用卡的过期日期是否晚于该日期。

compareTo在java中允许您比较两个对象。所以,如果你比较两个日期,你可以看到哪一个更晚或更早。我会在for循环中加入一些if语句

比如说

Date endDate= new Date(2015, 12, 25);



for (//some stuff....)
{
     if (cc.getExpiryDate.compareTo(endDate)<0)
     {
         if (cc.getExpiryDate.compareTo(//????????? figure out which date should go here) >0)
         {  
               // put a star here
         }
      }
 }
Date endDate=新日期(2015年12月25日);
对于(//一些东西……)
{
if(cc.getExpiryDate.compareTo(endDate)0)
{  
//在这里放一颗星星
}
}
}

当你这样做的时候。比较如果你的比较对象的数字更大,你将得到一个负整数,否则如果你的对象更大,它将是正整数。如果它们相等,则为零。这就是人们进行0或==0比较的原因。在java中,可以比较两个对象。所以,如果你比较两个日期,你可以看到哪一个更晚或更早。我会在for循环中加入一些if语句

比如说

Date endDate= new Date(2015, 12, 25);



for (//some stuff....)
{
     if (cc.getExpiryDate.compareTo(endDate)<0)
     {
         if (cc.getExpiryDate.compareTo(//????????? figure out which date should go here) >0)
         {  
               // put a star here
         }
      }
 }
Date endDate=新日期(2015年12月25日);
对于(//一些东西……)
{
if(cc.getExpiryDate.compareTo(endDate)0)
{  
//在这里放一颗星星
}
}
}


当你这样做的时候。比较如果你的比较对象的数字更大,你将得到一个负整数,否则如果你的对象更大,它将是正整数。如果它们相等,则为零。这就是为什么人们使用0或==0

你需要参考
Date
simpledteformat
类中的方法,你需要参考
Date
simpledteformat
类中的方法,我不需要在FOR语句中创建IF语句吗?请你给我一部分代码好吗。甚至full@user1519192字体那样你学不到任何东西。你真的想毕业,和那些真正关心你的人竞争工作吗?哈哈,我甚至没有主修计算机科学。我只是选修了计算机科学,但还不是借口。如果我为你写了代码(不管你写了多少个“e”),那仍然是剽窃,这是违法的,而且违反了你们学校的代码。我不需要在我的for语句中创建If语句吗?你能不能请你给我一部分代码。甚至full@user1519192字体那样你学不到任何东西。你真的想毕业,和那些真正关心你的人竞争工作吗?哈哈,我甚至没有主修计算机科学。我只是选修了计算机科学,但还不是借口。如果我为你写了你的代码(不管你写了多少个“e”),这仍然是剽窃,这是非法的,而且违反了你学校的代码。如果我创建一个int,输入为2015,这就是我的截止日期。这应该行得通,对吧?这是我得到的:eCheck08A.java:26:错误:如果(cc.getDate().compareTo(endDate)<0)^symbol:method getDate()找不到符号位置:CreditCardECK08A类型的变量cc.java:26:错误:类日期中的方法compareTo不能应用于GIVEN类型;如果(cc.getExpiryDate().compareTo(endDate)<0)^必需:找到日期:SimpleDateFormat原因:实际参数SimpleDateFormat无法通过方法调用转换转换为日期SimpleDateFormat endDate=new SimpleDateFormat(“12/25/2015”)?哦,我们开始吧。我认为您的.getExpiryDate()方法返回了一个常规日期。因此,代替SimpleDataFormat x=新SimpleDataFormat(“12/25/2015”);Do this Date endDate=新日期(2015年12月25日);如果我创建一个int,并输入为2015,这就是我的结束日期。这应该行得通,对吧?这是我得到的:eCheck08A.java:26:错误:如果(cc.getDate().compareTo(endDate)<0)^symbol:method getDate()找不到符号位置:CreditCardECK08A类型的变量cc.java:26:错误:类日期中的方法compareTo不能应用于GIVEN类型;如果(cc.getExpiryDate().compareTo(endDate)<0)^必需:找到日期:SimpleDateFormat原因:实际参数SimpleDateFormat无法通过方法调用转换转换为日期SimpleDateFormat endDate=new SimpleDateFormat(“12/25/2015”)?哦,我们开始吧。我认为您的.getExpiryDate()方法返回了一个常规日期。因此,代替SimpleDataFormat x=新SimpleDataFormat(“12/25/2015”);Do this Date endDate=新日期(2015年12月25日);