По факту - работает.
/Users/home/Documents/JavaRushTasks/JavaRushTasks/2.JavaCore/src/com/javarush/task/task18/task1822/Test
45
45 name4 7.0 2
и тд
Как угодить валидатору, подскажите, пожалуйста.
ЗЫ. Знаю, что можно решить в 3 строчки, сам в шоке, но не искал легких путей. Хотел разобраться в глубине процесса.
package com.javarush.task.task18.task1822;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream input = new FileInputStream(reader.readLine());
String ID = reader.readLine();
ArrayList<Integer> array = new ArrayList<>();
ArrayList<String> array2 = new ArrayList<>();
HashMap<String, String> hmap = new HashMap<String, String>();
while(input.available()>0)
{
array.add(input.read()) ;
}
int j;
for(int i=0; i<array.size();++i) {
if(i==0)
{ String c ="";
j=i;
while (true) {
if((array.get(j) == 10)) {break;}
c = c + String.valueOf(Character.toChars(array.get(j)));
j++; }array2.add(c); }
if (i != 0) {
if (array.get(i - 1) == 10) {
j=i;
String c ="";
while (true) { if((array.get(j) == 10)) {break;}
c = c + String.valueOf(Character.toChars(array.get(j)));
{ if(j==array.size()-1) break;} j++; }array2.add(c); } } }
for (int i=0; i<array2.size(); ++i)
{
String d = "";
String s = "";
int a=0;
int b=0;
String c = array2.get(i);
while (true) {
if (c.charAt(a)==' ')
{
break;
}
d = d + c.charAt(a);
a++;
b++;
}
b++;
while (true) {
if(b==c.length()) {break;}
s = s + c.charAt(b);
b++;}
hmap.put(d,s);
}
System.out.println(ID+" "+hmap.get(ID));
reader.close();
input.close();
}
}