#incorrect result for calculation the remain day for year leap year
1 messages · Page 1 of 1 (latest)
package pack5;
import java.time.LocalDate;
public class Date {
final private LocalDate now;
private int day_number;
public Date()
{
now=LocalDate.now();
}
public int calculation()
{
if(now.getMonth().getValue()!=2)
{
if(now.getMonth().getValue()==1)
day_number=31-now.getDayOfMonth();
else
{
int c=1;
if(now.getMonth().getValue()%2==0)
day_number =31-now.getDayOfMonth();
else {
day_number = 30 - now.getDayOfMonth();
c = 0;
}
int condition=12-now.getMonth().getValue()+1;
while(condition--!=0)
{
if(c==1)
{
day_number+=31;
c=0;
}
else
{
day_number+=30;
c=1;
}
}
}
}
int y=now.getYear();
if(now.getMonth().getValue()>2 ) {
while (!((y % 400 == 0) || ((y % 100 != 0) && (y % 4 == 0)))) {
day_number += 365;
y++;
}
}
return day_number;
}
}
Detected code, here are some useful tools:
Formatted code
package pack5;
import java.time.LocalDate;
public class Date {
final private LocalDate now;
private int day_number;
public Date() {
now = LocalDate.now();
}
public int calculation() {
if (now.getMonth().getValue() != 2) {
if (now.getMonth().getValue() == 1) day_number = 31 - now.getDayOfMonth();
else {
int c = 1;
if (now.getMonth().getValue() % 2 == 0) day_number = 31 - now.getDayOfMonth();
else {
day_number = 30 - now.getDayOfMonth();
c = 0;
}
int condition = 12 - now.getMonth().getValue() + 1;
while (condition-- != 0) {
if (c == 1) {
day_number += 31;
c = 0;
}
else {
day_number += 30;
c = 1;
}
}
}
}
int y = now.getYear();
if (now.getMonth().getValue() > 2) {
while (!((y % 400 == 0) || ((y % 100 != 0) && (y % 4 == 0)))) {
day_number += 365;
y++;
}
}
return day_number;
}
}