क्या कोई कृपया यह बताने में मदद कर सकता है कि मुझे अपने अंकगणितीय कार्यों में शून्य क्यों मिल रहा है? मैं इस अंकगणितीय समस्या को हल करने की कोशिश कर रहा हूं जो x और y का मान देता है लेकिन यह मुझे java.lang.arithmeticException त्रुटि दे रहा है या शून्य परिणाम दिखा रहा है। यह वास्तव में मेरे लिए मददगार होगा।
यह मेरा इनपुट है a=6,b=10,c=8,d=12,e=800,f=900
**x और y के मान प्राप्त करने के लिए इस रैखिक समीकरण का उपयोग करके हल किया जा सकता है
X = (ed -fb)/(ad -bc), y = (fa -ec)/(ad - bc)**
यही वह समस्या है जिसे मैं हल करने की कोशिश कर रहा हूं।
public class linearequation {
public static void main(String[] args){
Scanner scn= new Scanner(System.in);
linear lin1 = new linear(scn.nextInt(),scn.nextInt(),scn.nextInt(),scn.nextInt(),scn.nextInt(),scn.nextInt());
if(lin1.isSolvable()) {
System.out.println(lin1.getx());
System.out.println(lin1.gety());
}else {
System.out.println("No Solution");
}
}
}
class linear {
private int a, b, c, d, e, f;
int x, y;
int den = ((a * d) - (b * c));
public linear(int na, int nb, int nc, int nd, int ne, int nf) {
na = a;
nb = b;
nc = c;
nd = d;
ne = e;
nf = f;
}
public int geta() {
return a;
}
public int getb() {
return b;
}
public int getc() {
return c;
}
public int getd() {
return d;
}
public int gete() {
return e;
}
public int getf() {
return f;
}
public int getx() {
return x = ((e * d) - (f * b)) / den;
}
public int gety() {
return y = ((f * a) - (e * c)) / den;
}
public boolean isSolvable() {
if (den <= 0) {
return false;
} else {
return true;
}
}
}```
1 उत्तर
जहाँ तक मैं देख सकता हूँ linear
के लिए आपका कंस्ट्रक्टर समस्या है।
आप इसमें na, nb, nc, nd, ne, nf
पास कर रहे हैं और उन्हें क्रमशः a, b, c, d, e, and f
के मान के रूप में पुन: असाइन कर रहे हैं, जब आप वास्तव में दूसरी तरह से असाइन करना चाहते हैं, उदा। na = a
के बजाय a = na
।
साथ ही, आप कंस्ट्रक्टर द्वारा a...f
के मान सेट करने से पहले den
सेट कर रहे हैं। den
को कभी भी पुन: असाइन नहीं किया जाता है और इस प्रकार 0
रहता है।
आपका कंस्ट्रक्टर इस तरह दिखना चाहिए:
public linear(int na, int nb, int nc, int nd, int ne, int nf) {
a = na;
b = nb;
c = nc;
d = nd;
e = ne;
f = nf;
den = ((a * d) - (b * c));
}
den
को कक्षा linear
के इंस्टेंस फ़ील्ड के रूप में परिभाषित करना होगा। आपने इसे अपने प्रदत्त कोड उदाहरण में इस पंक्ति द्वारा निहित रूप से किया है: int den = ((a * d) - (b * c));
। इस लाइन को कम करके int den;
कर दें और आपके पास अपनी कक्षा linear
पर एक फ़ील्ड den
होगा, जिसका उपयोग क्लास के इंस्टेंस में किया जा सकता है।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।
den
को 0 होने के लिए पूर्वनिर्धारित किया गया है क्योंकि इसकी गणना कंस्ट्रक्टर द्वारा a, b, c, d, e, और f को मान निर्दिष्ट करने से पहले की जाती है। कंस्ट्रक्टर में मान निर्दिष्ट करने के बाद आपको इसे सेट करना होगा।