Есть ли способ распечатать два разных переопределенных сообщения toString с учетом определенного условия? Например, следующий пример - это простой пример, когда мне нужно печатать два разных сообщения об ошибках, если значение проверки равно 0. Я переопределил toString, чтобы получить «Ошибка: Проверить = 0», но мне трудно отобразить « Ошибка: двойное значение неточно ».Как напечатать два отдельных переопределенных сообщения toString
public class test{
public static void main(String[] args)
{
System.out.println(new Set(1,0)); // Should print "Error: Check = 0"
System.out.println(new Set(1,0).toDouble()); // Should print "Error: Double value not precise"
}
}
// ------------------------------------------
public class Set{
int a;
int check;
Fraction(int a, int check)
{
this.a = a;
this.check = check;
}
// ------------------------------------------
public String toString()
{
if(this.check == 0)
return "Error: Check = 0";
return (this.a + ":" + this.check);
}
// ------------------------------------------
public double toDouble()
{
double number;
if(this.check != 0)
number = ((a * check) + (1/3));
else
number = 0;
return number;
}
// ------------------------------------------
public String toString(double d)
{
return ("" + d);
}
}
Почему бы не использовать пользовательское исключение, хотя! –
Где находится переопределенная toString() с «Ошибка: двойное значение не точное»? –
Вы не можете сделать это, потому что ваша строка не будет вызываться в случае второй функции, потому что она возвращает double – Alok