Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- System.out.println("Эта программа предназначена для того, чтобы складывать 2 рациональные дроби.");
- System.out.println("Введите числитель и знаменатель первой дроби:");
- int Numerator1 = 1, Denominator1 = 1, Numerator2 = 1, Denominator2 = 1, NumeratorEnd, DenominatorEnd, Temp;
- boolean isIncorrect;
- do {
- isIncorrect = false;
- System.out.print("Числитель 1: ");
- try {
- Numerator1 = Integer.parseInt(scanner.nextLine());
- } catch (Exception err) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- if (!isIncorrect && Numerator1 == 0) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- do {
- isIncorrect = false;
- System.out.print("Знаменатель 1: ");
- try {
- Denominator1 = Integer.parseInt(scanner.nextLine());
- } catch (Exception err) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- if (!isIncorrect && Denominator1 == 0) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- System.out.println("Введите числитель и знаменатель второй дроби:");
- do {
- isIncorrect = false;
- System.out.print("Числитель 2: ");
- try {
- Numerator2 = Integer.parseInt(scanner.nextLine());
- } catch (Exception err) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- if (!isIncorrect && Numerator2 == 0) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- do {
- isIncorrect = false;
- System.out.print("Знаменатель 2: ");
- try {
- Denominator2 = Integer.parseInt(scanner.nextLine());
- } catch (Exception err) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- if (!isIncorrect && Denominator2 == 0) {
- System.out.println("Введите верные данные!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- scanner.close();
- System.out.println("Дробь 1: " + Numerator1 + "/" + Denominator1);
- System.out.println("Дробь 2: " + Numerator2 + "/" + Denominator2);
- DenominatorEnd = Denominator1 * Denominator2;
- NumeratorEnd = Numerator1 * Denominator2 + Numerator2 * Denominator1;
- if (NumeratorEnd > DenominatorEnd)
- Temp = DenominatorEnd;
- else
- Temp = NumeratorEnd;
- while (Temp > 0) {
- if (DenominatorEnd % Temp == 0 && NumeratorEnd % Temp == 0) {
- DenominatorEnd /= Temp;
- NumeratorEnd /= Temp;
- }
- Temp--;
- }
- System.out.println("Искомая дробь: " + NumeratorEnd + "/" + DenominatorEnd);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement