Я пытаюсь скомпилировать эту программу. Он отлично работает для 2 строк (имя, номер телефона), но не для 3 строк (имя, номер телефона и пол).Проблема с компиляцией при работе с java.util.Map
КОД (Не работает код - 3 строки (имя, номер телефона и секс))
import java.util.Map;
import java.util.TreeMap;
public class Ann {
String name, phone;
public Ann() {
}
public static void testMap() {
Map<String, String, String> theMap = new TreeMap<String, String,String>();
// new HashMap<K,V>(); could also be used
theMap.put("Roger M", "090-997-2918", "Male");
theMap.put("Jane M", "090-997-1987", "FeMale");
theMap.put("Stacy K", "090-997-9188", "FeMale");
theMap.put("Gary G", "201-119-8765", "Male");
theMap.put("Jane M", "090-233-0000", "FeMale");
System.out.println("Testing TreeMap and Map");
System.out.print("Stacy K has phone ");
System.out.print(theMap.get("Stacy K"));
System.out.print("\n");
System.out.print("Jane M has phone ");
System.out.print(theMap.get("Jane M"));
} // testMap()
public static void main(String[] args) {
testMap();
}
}
ОШИБКА
wrong number of type arguments; required 2
wrong number of type arguments; required 2
РАБОЧИЙ КОД (Для 2 струнных (имя, PhoneNumber))
import java.util.Map;
import java.util.TreeMap;
public class Ann {
String name, phone;
public Ann() {
}
public static void testMap() {
Map<String, String> theMap = new TreeMap<String, String>();
// new HashMap<K,V>(); could also be used
theMap.put("Roger M", "090-997-2918");
theMap.put("Jane M", "090-997-1987");
theMap.put("Stacy K", "090-997-9188");
theMap.put("Gary G", "201-119-8765");
theMap.put("Jane M", "090-233-0000");
System.out.println("Testing TreeMap and Map");
System.out.print("Stacy K has phone ");
System.out.print(theMap.get("Stacy K"));
System.out.print("\n");
System.out.print("Jane M has phone ");
System.out.print(theMap.get("Jane M"));
} // testMap()
public static void main(String[] args) {
testMap();
}
}
Я хочу код, чтобы работать в течение примерно 5 атрибутов, как имя , телефон, пол, возраст, адрес. Если кто-то может помочь мне скомпилировать код в верхней части вопроса, я смогу выяснить остальное.
Благодаря
Я столкнулся с этой ошибкой при помещении неправильного объекта в объявление generics. Это должно быть '>', но на самом деле было '>'. Это сбивало с толку, потому что компилятор не указывал на правильное положение в строке. Это был один из многих параметров в сигнатуре функции, и компилятор указал на начало строки. –
aliteralmind