Пример вывода должен быть таким:
Ввод дней: 1
Ввод месяцев: 1
Ввод года: 2012
Ввод добавленных дней: 61
Предполагая, что в феврале (29 дней в каждом году)
тогда вывод: 1 марта 2012 г.;
но вместо этого я получил 0 марта 2012 г.
мой код:
Код: Выделить всё
import java.util.Scanner;
public class NO3 {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("Input days : ");
int days = sc.nextInt();
System.out.print("Input month : ");
int month = sc.nextInt();
System.out.print("Input year : ");
int year = sc.nextInt();
System.out.print("Input added days : ");
int addeddays = sc.nextInt();
System.out.print("Output : ");
System.out.print(add(days,month,year,addeddays));
}
public static int add(int days,int month,int year,int addeddays)
{
int countermonth=0;
if(month==1)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==2)
{
if(days+addeddays>=29)
{
countermonth = (days+addeddays)/29;
month += countermonth;
days = days+addeddays - (countermonth*29);
System.out.print(days);
System.out.print("-");
}
}
else if(month==3)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==4)
{
if(days+addeddays>=30)
{
countermonth = (days+addeddays)/30;
month += countermonth;
days = days+addeddays - (countermonth*30);
System.out.print(days);
System.out.print("-");
}
}
else if(month==5)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==6)
{
if(days+addeddays>=30)
{
countermonth = (days+addeddays)/30;
month += countermonth;
days = days+addeddays - (countermonth*30);
System.out.print(days);
System.out.print("-");
}
}
else if(month==7)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==8)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==9)
{
if(days+addeddays>=30)
{
countermonth = (days+addeddays)/30;
month += countermonth;
days = days+addeddays - (countermonth*30);
System.out.print(days);
System.out.print("-");
}
}
else if(month==10)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
else if(month==11)
{
if(days+addeddays>=30)
{
countermonth = (days+addeddays)/30;
month += countermonth;
days = days+addeddays - (countermonth*30);
System.out.print(days);
System.out.print("-");
}
}
else if(month==12)
{
if(days+addeddays>=31)
{
countermonth = (days+addeddays)/31;
month += countermonth;
days = days+addeddays - (countermonth*31);
System.out.print(days);
System.out.print("-");
}
}
if(month>12)
{
int counteryear = month/12;
month = month - (counteryear*12);
year +=counteryear;
}
if(month==1)
{
System.out.print("January");
}
else if(month==2)
{
System.out.print("February");
}
else if(month==3)
{
System.out.print("March");
}
else if(month==4)
{
System.out.print("April");
}
else if(month==5)
{
System.out.print("May");
}
else if(month==6)
{
System.out.print("June");
}
else if(month==7)
{
System.out.print("July");
}
else if(month==8)
{
System.out.print("August");
}
else if(month==9)
{
System.out.print("September");
}
else if(month==10)
{
System.out.print("October");
}
else if(month==11)
{
System.out.print("November");
}
else if(month==12)
{
System.out.print("December");
}
System.out.print("-");
//System.out.println("");
return year;
}
}
Подробнее здесь: https://stackoverflow.com/questions/335 ... ys-to-date
Мобильная версия