How to write Java function that returns values of multiple data types?
For example, I want to create a function that can return any number (negative, zero, or positive).
However, based on certain exceptions, I'd like the function to return Boolean
FALSE
Is there a way to write a function that can return an or a ?int
Boolean
Ok, so this has received a lot of responses. I understand I'm simply approaching the problem incorrectly and I should some sort of Exception in the method. To get a better answer, I'm going to provide some example code. Please don't make fun :)throw
public class Quad {
public static void main (String[] args) {
double a, b, c;
a=1; b=-7; c=12;
System.out.println("x = " + quadratic(a, b, c, 1)); // x = 4.0
System.out.println("x = " + quadratic(a, b, c, -1)); // x = 3.0
// "invalid" coefficients. Let's throw an exception here. How do we handle the exception?
a=4; b=4; c=16;
System.out.println("x = " + quadratic(a, b, c, 1)); // x = NaN
System.out.println("x = " + quadratic(a, b, c, -1)); // x = NaN
}
public static double quadratic(double a, double b, double c, int polarity) {
double x = b*b - 4*a*c;
// When x < 0, Math.sqrt(x) retruns NaN
if (x < 0) {
/*
throw exception!
I understand this code can be adjusted to accommodate
imaginary numbers, but for the sake of this example,
let's just have this function throw an exception and
say the coefficients are invalid
*/
}
return (-b + Math.sqrt(x) * polarity) / (2*a);
}
}