显示从今天起,出生当天起100天,以及出生日期后10,000天的日期。我已经完成了所有这些,但我想更进一步,我希望用户能够输入从今天起他/她希望知道日期的天数(如果这有任何意义的话) ...)。以下是我正在处理的代码部分:
public class calendarProjectTest
{
public static void main(String[] args)
{ GregorianCalendar cal = new GregorianCalendar(); //declare today's date
GregorianCalendar myBirthday = new
GregorianCalendar(1990, GregorianCalendar.JUNE, 9); //declare my birthday
System.out.println("Please enter a number greater than 0:");
Scanner keyboard = new Scanner(System.in);
String number = keyboard.next();
int value = number;
cal.add(GregorianCalendar.DAY_OF_MONTH, number);
我正在使用Bluej它说,“不兼容的类型 - 找到了java.lang.String但是期望的int” 我不知所措。我不知道该怎么做。任何建议都会很棒。是的,我知道没有端括号。
答案 0 :(得分:1)
使用此:
int value = Integer.parseInt(number);
答案 1 :(得分:1)
改变这个:
cal.add(GregorianCalendar.DAY_OF_MONTH, Integer.parseInt(number));
从docs可以看出,add()
方法需要两个参数int
。
答案 2 :(得分:1)
String number = keyboard.next();
int value = number;
改为使用:
int value = keyboard.nextInt(); // you will get parsed int value
cal.add(GregorianCalendar.DAY_OF_MONTH, value);
答案 3 :(得分:0)
Keyboard.next(); 返回一个字符串,而不是一个整数。
so int value = number试图将字符串值赋给int类型。尝试改为: int value = Integer.parseInt(number);
想了解有关GregorianCalendar和http://www.vogella.com/articles/JavaDateTimeAPI/article.html
的更多信息