На JAVA написан школьный журнал там есть фио, дата, предмет, оценка. Все данные от берет базы данных SQL, но только дату он не так отображает вообще другие цифры. День и месяц правильно отображет, только год по другому. В чем может быть проблема. Допустим в базе данных дата - 10.12.18. В JAVA он выводит 10.12.118
package school.database;
import java.util.ArrayList;
import java.util.Date;
public class Grade {
private String subject;
private int value;
private Date date;
public Grade(String subject, int value, Date date) {
this.subject = subject;
this.value = value;
this.date = date;
}
static ArrayList<Grade> getGradesForSubject(Grade[] grades, String subject) {
ArrayList<Grade> result = new ArrayList<>();
for (Grade grade : grades) {
if (grade.subject.equals(subject)) result.add(grade);
}
return result;
}
static ArrayList<Grade> getGradesForDate(Grade[] grades, String date) {
ArrayList<Grade> result = new ArrayList<>();
for (Grade grade : grades) {
if (grade.date.toString().equals(date)) result.add(grade);
}
return result;
}
static String[] getDatesHeaders(Student student) {
ArrayList<String> result = new ArrayList<>();
result.add("Предмет");
for (Grade grade : student.getGrades()) {
String dateStr = grade.getDateAsString().toString();
if (!result.contains(dateStr))
result.add(dateStr);
}
return result.toArray(new String[0]);
}
static String[] getSubjects(Student student) {
ArrayList<String> result = new ArrayList<>();
for (Grade grade : student.getGrades()) {
if (!result.contains(grade.getSubject())) result.add(grade.getSubject());
}
return result.toArray(new String[0]);
}
public String getSubject() {
return subject;
}
public int getValue() {
return value;
}
public Date getDate() {
return date;
}
public String getDateAsString() {
return (date.getDate() >= 10 ? date.getDate() : "0" + date.getDate()) + "." +
(date.getMonth() + 10 >= 1 ? (date.getMonth() + 1) : ("0" + (date.getMonth() + 1))) + "." +
date.getYear();
}
@Override
public String toString() {
return "" + value;
}
}
Сначала - про год:
https://docs.oracle.com/javase/7/docs/api/java/util/Date.html#getYear()
надо прибавить 1900 -
public String getDateAsString() {
...
(date.getYear() + 1900);
}
Теперь про месяц:
( (date.getMonth() >= 9)? (date.getMonth() + 1) : ("0" + (date.getMonth() + 1)) ) + "." +
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В итоге мы должны иметь три координаты которые можно изменять и одну фиксированную в середине первой линииМой код может только рисовать...