숫자를 기준으로 등급에 대한 매핑을 만들고 싶습니다. 등다른 숫자간에 매핑을 만드는 방법은 무엇입니까?
if (i = 2) return 3;
if (i = 3) return 5;
if (i = 4) return 7;
그리고 각 "원래"수는 이것에
유사 "대상"숫자의 무리를 할당 받아야합니다. 반복적으로 'if-return '문을 작성하지 않고 어떻게 이런 종류의 매핑을 작성할 수 있습니까?
숫자를 기준으로 등급에 대한 매핑을 만들고 싶습니다. 등다른 숫자간에 매핑을 만드는 방법은 무엇입니까?
if (i = 2) return 3;
if (i = 3) return 5;
if (i = 4) return 7;
그리고 각 "원래"수는 이것에
유사 "대상"숫자의 무리를 할당 받아야합니다. 반복적으로 'if-return '문을 작성하지 않고 어떻게 이런 종류의 매핑을 작성할 수 있습니까?
Map<Integer, Integer> mappings = new HashMap<Integer, Integer>();
mappings.put(2,3);
mappings.put(3,5);
mappings.put(4,7);
System.out.println(mappings.get(2));
System.out.println(mappings.get(3));
System.out.println(mappings.get(4));
문제의 해결 방법에는 두 가지가 있습니다.
첫 번째는 3 쌍의 숫자를 가져 와서지도에 넣는 것입니다. 지도는 값과 키를 연결합니다, 그래서 당신은
HashMap<Integer, Integer> myMap = new HashMap();
myMap.put(myKey, myValue);
지도에서 myValue를 얻으려면, 당신이가있다 할 myMap.get(myKey)
다른 방법을 통해 액세스 할지도로 각 쌍을 둘 것 당신이주는 숫자는 기능을 따른다. 2x-1. 코드에서이 동작을 모방하는 함수를 만들 수 있습니다.
int myFunction(int value) {
return 2*value-1;
}
그냥이 함수를 호출하면 올바른 결과를 얻을 수 있습니다. 예를 들어 myFunction(3)
은 5를 반환합니다.
'java.util.Map'을 보았습니까? 예를 들어'Map'가 도움이 될 수 있습니다. 그렇지 않으면'case' 문이 있습니다. –
vikingsteve
맵을 사용하여 맵핑을 저장하십시오. – Jens
Switch Case 문을 사용하는 것은 어떻습니까? –