Я опробовал образец ввода, который они предоставили, и он был правильным, и я использовал тот ввод, который у меня есть, и каждый раз получался неверный результат.
Что я вижу 1
Что я вижу 2
Ниже есть дополнительная информация, но это то, что происходит после того, как вы решите первую часть
Появление кода, день 4
Ввод головоломки
Ввод данных зависит от пользователя, но код должен быть одинаковым независимо от ввода
- byr (год рождения) — четыре цифры; не менее 1920 и не более 2002 года.
- iyr (Год выпуска) - четыре цифры; минимум 2010 и максимум 2020 год.
- эйр (Год окончания срока действия) – четыре цифры; не менее 2020 и не более 2030.
- hgt (Высота) — число, за которым следует либо см, либо дюйм:
-
Если см, то число должно быть не менее 150 и не более 193.
- Если в, число должно быть не менее 59 и не более 76.
[*]ecl (Цвет Глаз) – ровно один из: amb blu brn gry grn hzl oth.
[*]pid (ID паспорта) – девятизначное число, включая ведущие нули.
[*]cid (идентификатор страны) — игнорируется, отсутствует или нет.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
File inputText = new File("src/input.txt");
Scanner sc = new Scanner(inputText);
ArrayList ids = new ArrayList();
ArrayList attributes = new ArrayList();
while (sc.hasNextLine()) {
String builtString = "";
String input = "1";
while(input.length() != 0 && sc.hasNextLine()) {
input = sc.nextLine();
builtString += input + " ";
}
String[] temp = builtString.split(" ");
ArrayList tempIds = new ArrayList();
ArrayList tempAttributes = new ArrayList();
for (String i : temp) {
tempIds.add(i.split(":")[0]);
tempAttributes.add(i.split(":")[1]);
}
ids.add(tempIds);
attributes.add(tempAttributes);
}
System.out.println(ids);
System.out.println(attributes);
int valid = 0;
for (int a = 0; a < ids.size(); a++) {
int has = 0;
for (int j = 0; j < ids.get(a).size(); j++) {
String id = ids.get(a).get(j).toString();
String attribute = attributes.get(a).get(j).toString();
if (id.contains("ecl")) {
if (attribute.contains("blu") || attribute.contains("brn") || attribute.contains("gry") || attribute.contains("grn") || attribute.contains("hzl") || attribute.contains("oth")) {
System.out.println(attribute + " is an eye color");
has++;
} else {
System.out.println(attribute + " is not an eye color");
}
has++;
}
if (id.contains("pid")) {
if (attribute.length() == 9) {
try {
Integer.parseInt(attribute);
System.out.println(attribute + " of pid attribute is valid ");
has++;
} catch (Exception e) {
System.out.println(attribute + " of pid attribute is not valid");
}
}
has++;
}
if (id.contains("eyr")) {
int at = Integer.parseInt(attribute);
if (at >= 2020 && at = 'a' && c = 1920 && date = 2010 && date = 59 && amount = 150 && amount = 14) {
valid++;
}
}
System.out.println(valid);
System.out.println("End");
}
}
Подробнее здесь: https://stackoverflow.com/questions/651 ... code-day-4
Мобильная версия