Вопрос пользователя:
Java, исправьте пожалуйста код, нужно чтобы у answer выводилось то кол-во цифр после запятой,
//сколько у него цифр больше 0 в дробной части, лимит 3 цифры после запятой
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner( );
System.out.println("(a + b - c) / d");
System.out.print("Число a: ");
double a = scanner.nextDouble();
System.out.print("Число b: ");
double b = scanner.nextDouble();
System.out.print("Число c: ");
double c = scanner.nextDouble();
System.out.print("Число d: ");
double d = scanner.nextDouble();
double answer = (a + b - c) / d;
// Проверка третьей цифры после запятой
double fractionalPart = answer - (int) answer;
int thirdDigit = (int) (fractionalPart * 1000) % 10;
int secondDigit = (int) (fractionalPart * 100) % 10;
int firstDigit = (int) (fractionalPart * 10) % 10;
String format0 = "(" + Math.round(a) + "+" + Math.round(b) + "-" + Math.round(c) + "):" + Math.round(d) + " = " + "%.0f\n";
String format1 = "(" + Math.round(a) + "+" + Math.round(b) + "-" + Math.round(c) + "):" + Math.round(d) + " = " + "%.1f\n";
String format2 = "(" + Math.round(a) + "+" + Math.round(b) + "-" + Math.round(c) + "):" + Math.round(d) + " = " + "%.2f\n";
String format3 = "(" + Math.round(a) + "+" + Math.round(b) + "-" + Math.round(c) + "):" + Math.round(d) + " = " + "%.3f\n";
if (thirdDigit > 0) {
System.out.printf(format3, answer);
} else if (secondDigit > 0) { // Проверка, что первые две цифры равны нулю
System.out.printf(format2, answer);
} else if (firstDigit > 0) { // Проверка, что первая цифра равна нулю
System.out.printf(format1, answer);
} else if (fractionalPart * 1000 < 1) { // Проверка, что все три цифры равны нулю
System.out.printf(format0, answer);
} else { // Если после трех цифр нулей есть цифра не равная нулю
System.out.printf(format3, answer);
}
}
}
Ответ нейросети:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Число a: ");
double a = scanner.nextDouble();
System.out.print("Число b: ");
double b = scanner.nextDouble();
System.out.print("Число c: ");
double c = scanner.nextDouble();
System.out.print("Число d: ");
double d = scanner.nextDouble();
double answer = (a + b - c) / d;
// Проверка количества цифр после запятой
String format = "Число a: %.3f\n";
System.out.printf(format, answer);
}
}