M
maxxi
Извиняюсь за неудобства......
Вот программка в более пристойном виде -
задание такое - программа определяет является ли заданный год високосным (надо написать самому такую функцию).
И является ли вводимая дата правильной. Например, 1.2.2000 - правильная дата, а 34.34.2000-не правильная
public class God {
public static boolean VisokosniiGod (int god) { //opredelim, visokosnii li zadannii god
return ((god % 100 == 0) && ((god % 400 == 0))
|| ((god % 100 != 0)) && (god % 4 == 0));
}
public static boolean OprMesjaz(int den, int mes, int god){ // opredelim, javljaetsja li zadannii den", mesjaz i god pravilnimi
if ((mes==1) || (mes==3)||(mes==5)|(mes==7)||(mes==8)||(mes==10)||(mes==11)) {
return den<=31&den>=1;
}
else if ((mes==4)||(mes==6)||(mes==9)||(mes==11)) {
return den<=30&den>=1;
}
else if ((mes==2)&&((god % 100 == 0) && ((god % 400 == 0))
|| ((god % 100 != 0)) && (god % 4 == 0))){
return den<=29&den>=1;
}
else if ((mes==2)&&((god % 100 != 0))) {
return den<=28&den>=1;
}
return false;}}
Второй класс +
public class test_god {
public static void main(String[]args) {
int den=6;
int mes=2;
int god=1600;
boolean VisokosniiGod=God.VisokosniiGod(god);
boolean mesjaz= God.OprMesjaz(den, mes, god);
if(mesjaz) {
if(VisokosniiGod) {
System.out.println(god + " ist schaltjahr");
}else if (!VisokosniiGod){System.out.println(god + " ist KEIN schaltjahr");}
System.out.printf(den+"."+mes+"."+god+" EST' TAKAJA DATA");}
else if(!mesjaz) {
{System.out.printf(den+"."+mes+"."+god+" NET TAKOI DATI");
}}
}}
Проблема в том, что вроде она работает.... но как только вводишь год 1000, то даже если ты введешь правильную дату, то все равно она выдает что такая дата не существует.....
Не догоню почему так....
Вот программка в более пристойном виде -
задание такое - программа определяет является ли заданный год високосным (надо написать самому такую функцию).
И является ли вводимая дата правильной. Например, 1.2.2000 - правильная дата, а 34.34.2000-не правильная
public class God {
public static boolean VisokosniiGod (int god) { //opredelim, visokosnii li zadannii god
return ((god % 100 == 0) && ((god % 400 == 0))
|| ((god % 100 != 0)) && (god % 4 == 0));
}
public static boolean OprMesjaz(int den, int mes, int god){ // opredelim, javljaetsja li zadannii den", mesjaz i god pravilnimi
if ((mes==1) || (mes==3)||(mes==5)|(mes==7)||(mes==8)||(mes==10)||(mes==11)) {
return den<=31&den>=1;
}
else if ((mes==4)||(mes==6)||(mes==9)||(mes==11)) {
return den<=30&den>=1;
}
else if ((mes==2)&&((god % 100 == 0) && ((god % 400 == 0))
|| ((god % 100 != 0)) && (god % 4 == 0))){
return den<=29&den>=1;
}
else if ((mes==2)&&((god % 100 != 0))) {
return den<=28&den>=1;
}
return false;}}
Второй класс +
public class test_god {
public static void main(String[]args) {
int den=6;
int mes=2;
int god=1600;
boolean VisokosniiGod=God.VisokosniiGod(god);
boolean mesjaz= God.OprMesjaz(den, mes, god);
if(mesjaz) {
if(VisokosniiGod) {
System.out.println(god + " ist schaltjahr");
}else if (!VisokosniiGod){System.out.println(god + " ist KEIN schaltjahr");}
System.out.printf(den+"."+mes+"."+god+" EST' TAKAJA DATA");}
else if(!mesjaz) {
{System.out.printf(den+"."+mes+"."+god+" NET TAKOI DATI");
}}
}}
Проблема в том, что вроде она работает.... но как только вводишь год 1000, то даже если ты введешь правильную дату, то все равно она выдает что такая дата не существует.....
Не догоню почему так....