Подскажите пожалуйста, почему я тут не могу в методе main объявить переменные. Я понимаю, что могу просто их сделать классовыми с public static, но вот просто интересно...
package com.javarush.task.task08.task0815;
import java.util.HashMap;
import java.util.Map;
/*
Перепись населения
*/
public class Solution {
public static String name = "Иван";
public static String lastName = "Иванов";
public static Map<String, String> createMap() {
Map<String,String> map = new HashMap<String,String>();
map.put("Иванов","Иван");
map.put("Иванов1","Иван");
map.put("Иванов2","Иван");
map.put("Иванов3","Иван");
map.put("Иванов4","Иван");
map.put("Иванов5","Роман");
map.put("Иванов6","Иван");
map.put("Иванов7","Иван");
map.put("Иванов8","Иван");
map.put("Иванов9","Иван");
return map;
}
public static int getCountTheSameFirstName(Map<String, String> map, String name) {
int countname = 0;
String value = null;
for (Map.Entry<String,String> pair : map.entrySet())
{
value = pair.getValue();
if (name.equals(value))
{
countname++;
}
}
System.out.println(value);
return countname;
}
public static int getCountTheSameLastName(Map<String, String> map, String lastName) {
int countlastName = 0;
for (Map.Entry<String,String> pair : map.entrySet)
{
String key = pair.getKey();
if (lastName.equals(key))
{
countlastName++;
}
}
return countlastName;
}
public static void main(String[] args) {
Map<String,String> map = createMap();
for (Map.Entry<String,String> pair : map.entrySet())
int a = getCountTheSameFirstName(map,name);
int b = getCountTheSameLastName(map,lastName);
System.out.println(a);
}
}