(def sdf (java.text.SimpleDateFormat. "yyyy-MM")
(.format sdf (java.util.Date.))
;; => "2023-04"
(.parse sdf "2022-01")
;; => #inst "2021-12-31T21:00:00.000-00:00"
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date dn = new Date();
System.out.println(sdf.format(dn));
Date dp = sdf.parse("2022-01");
System.out.println(dp);
;; собственно сам массив со строками дат
(def dates
(map
(fn [i] (str "2022-" i))
(range 1 10)))
;; dates
;; => ("2022-1"
;; "2022-2"
;; "2022-3"
;; "2022-4"
;; "2022-5"
;; "2022-6"
;; "2022-7"
;; "2022-8"
;; "2022-9")
;; Функция фильтрации, в яве можно использовать Stream API
(defn filter-dates [dates chk]
(filter
(fn [x]
(some (partial = x) chk)) dates)
)
;; фильтруем :)
(filter-dates dates ["2022-1" "2022-9" "2023-1"] )
;; => ("2022-1" "2022-9")
public class Main {
public static void main(String[] args) {
Scanner In = new Scanner(System.in);
System.out.print("Введите a: ");
int A = In.nextInt();
System.out.print("Введите b: ");
int B = In.nextInt();
try {
sum(A, B);
}catch(ArithmeticException e) {
System.out.println(e.getMessage());
}
}
static int sum(int a,int b) /* не уверен, что нужно */ throws ArithmeticException {
if (a<0) {
throw new ArithmeticException("a меньше 0");
} else if (b<0) { // моя очепятка детектед.... чеккед и корректед
throw new ArithmeticException("b меньше 0");
}
return a+b;
}
// ....
ResultSet result = stat.executeQuery("SELECT damage FROM bleed WHERE nickname = '" + nickname + "'");
rs.next(); // от это!!!!
int count = result.getInt(1);
// ...
При открытии набора данных ResultSet курсор расположен перед первой строкой, и первый вызов next передвигает его на первую строку.