इस कार्यक्षमता को java.lang.Math
कक्षा में रखना अच्छा होगा , क्योंकि यह एक ऐसा व्यापक रूप से आवश्यक कार्य है और अन्य भाषाओं में उपलब्ध है। यहाँ एक सरल कार्यान्वयन है:
final static double EPSILON = 1e-12;
public static double map(double valueCoord1,
double startCoord1, double endCoord1,
double startCoord2, double endCoord2) {
if (Math.abs(endCoord1 - startCoord1) < EPSILON) {
throw new ArithmeticException("/ 0");
}
double offset = startCoord2;
double ratio = (endCoord2 - startCoord2) / (endCoord1 - startCoord1);
return ratio * (valueCoord1 - startCoord1) + offset;
}
मैं इस कोड को भविष्य के संदर्भ के रूप में यहाँ रख रहा हूँ और हो सकता है कि यह किसी की मदद करे।