पैरामीटर (पूर्णांक) - जावा

मैं जावा में एक शुरुआत कर रहा हूं और मैं इंटरनेट से अभ्यास प्रश्न कर रहा हूं। मैं इस सवाल पर अड़ गया और मैं फंस गया।

दूरी नामक एक विधि लिखिए जो चार को स्वीकार करेपूर्णांक पैरामीटर के रूप में X1, y1, x2 और y2 को समन्वयित करता है और कार्टेशियन विमान पर बिंदुओं (X1, y1) और (x2, y2) के बीच की दूरी की गणना करता है। उदाहरण के लिए, दूरी (1, 0, 4, 4) की कॉल 5.0 वापस आएगी और दूरी (10, 2, 3, 5) की कॉल 7.615773105863909 पर वापस आएगी।

public static int distance(int x1,int y1,int x2,int y2){
int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;
return (double)d;

}

2 बातें मैं स्पष्ट करना चाहूंगा।जब मैं ^ का उपयोग करता हूं, तो वे मुझे यह कहने के लिए एक त्रुटि देते हैं कि इसे लागू नहीं किया जा सकता है। हालांकि, मैं समीकरण में किसी एक संख्या के अंदर डबल कास्टिंग की कोशिश करता हूं। लेकिन यह मुझे एक त्रुटि भी देता है।

उत्तर:

जवाब के लिए 3 № 1

^ बाइनरी XOR ऑपरेटर है।

उपयोग Math.pow बजाय। या Math.sqrt (बेहतर)।

आपको अपना परिणाम नहीं देना चाहिए int और फिर वापस double। महज प्रयोग करें

public static double distance(int x1,int y1,int x2,int y2){
return Math.sqrt((x2-x1)*(x2-x1)-(y2-y1)*(y2-y1)));
}

उत्तर № 2 के लिए 1
int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;

जावा में, ^ XOR ऑपरेटर है। उपयोग Math.pow().

एक अर्ध की शक्ति को बढ़ाते हुए, वर्ग मार्ग पर एक ही है, जिसे पूरा किया जा सकता है Math.sqrt().


जवाब के लिए 0 № 3
  1. यदि आप ^ ऑपरेटर के बजाय Math.pow () का उपयोग करना चाहते हैं। या मैथ.स्कार्ट ()
  2. आप डबल कास्ट नहीं कर सकते, क्योंकि आपकी विधि वापस आती है पूर्णांक। इसे बदलें सार्वजनिक स्थिर डबल

जवाब के लिए 0 № 4

आप उपयोग कर सकते हैं Math.sqrt(), यह जावा गणित में निर्मित विधि है।


जवाब के लिए 0 № 5

पहले आप "डबल वापसी कर सकते हैं यदि आपका फिक्शन एक अंतर मूल्य की उम्मीद कर रहा है दूसरा आप उपयोग कर सकते हैं Math.pow() के बजाय ^आपके मामले में आप उपयोग कर सकते हैं Math.Sqrt()। तीसरा यदि आप एक डबल परिणाम चाहते हैं तो आपको उन इंट वैल्यू को कास्ट करने की जरूरत है जो आप डबल का उपयोग कर रहे हैं:

public static double distance(int x1,int y1,int x2,int y2){

double d = Math.sqrt(((x2-x1)*(x2-x1)-(y2-y1)*(y2-y1)));
return d;
}