Advertisement
gguuppyy

лаба1н3

Sep 16th, 2023 (edited)
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.77 KB | Source Code | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         System.out.println("Эта программа предназначена для того, чтобы складывать 2 рациональные дроби.");
  7.         System.out.println("Введите числитель и знаменатель первой дроби:");
  8.         int Numerator1 = 1, Denominator1 = 1, Numerator2 = 1, Denominator2 = 1, NumeratorEnd, DenominatorEnd, Temp;
  9.         boolean isIncorrect;
  10.         do {
  11.             isIncorrect = false;
  12.             System.out.print("Числитель 1: ");
  13.             try {
  14.                 Numerator1 = Integer.parseInt(scanner.nextLine());
  15.             } catch (Exception err) {
  16.                 System.out.println("Введите верные данные!");
  17.                 isIncorrect = true;
  18.             }
  19.             if (!isIncorrect && Numerator1 == 0) {
  20.                 System.out.println("Введите верные данные!");
  21.                 isIncorrect = true;
  22.             }
  23.         } while (isIncorrect);
  24.         do {
  25.             isIncorrect = false;
  26.             System.out.print("Знаменатель 1: ");
  27.             try {
  28.                 Denominator1 = Integer.parseInt(scanner.nextLine());
  29.             } catch (Exception err) {
  30.                 System.out.println("Введите верные данные!");
  31.                 isIncorrect = true;
  32.             }
  33.             if (!isIncorrect && Denominator1 == 0) {
  34.                 System.out.println("Введите верные данные!");
  35.                 isIncorrect = true;
  36.             }
  37.         } while (isIncorrect);
  38.  
  39.         System.out.println("Введите числитель и знаменатель второй дроби:");
  40.  
  41.         do {
  42.             isIncorrect = false;
  43.             System.out.print("Числитель 2: ");
  44.             try {
  45.                 Numerator2 = Integer.parseInt(scanner.nextLine());
  46.             } catch (Exception err) {
  47.                 System.out.println("Введите верные данные!");
  48.                 isIncorrect = true;
  49.             }
  50.             if (!isIncorrect && Numerator2 == 0) {
  51.                 System.out.println("Введите верные данные!");
  52.                 isIncorrect = true;
  53.             }
  54.         } while (isIncorrect);
  55.         do {
  56.             isIncorrect = false;
  57.             System.out.print("Знаменатель 2: ");
  58.             try {
  59.                 Denominator2 = Integer.parseInt(scanner.nextLine());
  60.             } catch (Exception err) {
  61.                 System.out.println("Введите верные данные!");
  62.                 isIncorrect = true;
  63.             }
  64.             if (!isIncorrect && Denominator2 == 0) {
  65.                 System.out.println("Введите верные данные!");
  66.                 isIncorrect = true;
  67.             }
  68.         } while (isIncorrect);
  69.        
  70.         scanner.close();
  71.         System.out.println("Дробь 1: " + Numerator1 + "/" + Denominator1);
  72.         System.out.println("Дробь 2: " + Numerator2 + "/" + Denominator2);
  73.  
  74.         DenominatorEnd = Denominator1 * Denominator2;
  75.         NumeratorEnd = Numerator1 * Denominator2 + Numerator2 * Denominator1;
  76.  
  77.         if (NumeratorEnd > DenominatorEnd)
  78.             Temp = DenominatorEnd;
  79.         else
  80.             Temp = NumeratorEnd;
  81.  
  82.         while (Temp > 0) {
  83.             if (DenominatorEnd % Temp == 0 && NumeratorEnd % Temp == 0) {
  84.                 DenominatorEnd /= Temp;
  85.                 NumeratorEnd /= Temp;
  86.             }
  87.             Temp--;
  88.         }
  89.  
  90.         System.out.println("Искомая дробь: " + NumeratorEnd + "/" + DenominatorEnd);
  91.  
  92.     }
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement