Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Laba2_2 {
- final static Scanner scan = new Scanner(System.in);
- static float getFirstFraction() {
- boolean isIncorrect;
- float numerator = 0;
- float denominator = 0;
- do {
- isIncorrect = false;
- System.out.println("Введите числитель первой дроби: ");
- numerator = getException(numerator);
- float numeratorForFindingDivisors = numerator;
- System.out.println("Введите знаменатель первой дроби: ");
- denominator = getException(denominator);
- float denominatorForFindingDivisors = denominator;
- if (denominator == 0) {
- System.err.println("Введите знаменатель, не равный 0!");
- isIncorrect = true;
- } else if (numerator == 0){
- System.err.println("Введите числитель, не равный 0!");
- isIncorrect = true;
- } else while (denominatorForFindingDivisors != 0) {
- if (numeratorForFindingDivisors > denominatorForFindingDivisors)
- numeratorForFindingDivisors = numeratorForFindingDivisors - denominatorForFindingDivisors;
- else
- denominatorForFindingDivisors = denominatorForFindingDivisors - numeratorForFindingDivisors;
- }
- if (numeratorForFindingDivisors > 1) {
- System.err.println("Дробь должна быть несократимой! Попробуйте ещё.");
- isIncorrect = true;
- }
- } while(isIncorrect);
- float fraction = numerator / denominator;
- return fraction;
- }
- static float getSecondFraction() {
- boolean isIncorrect;
- float numerator = 0;
- float denominator = 0;
- do {
- isIncorrect = false;
- System.out.println("Введите числитель второй дроби: ");
- numerator = getException(numerator);
- float numeratorForFindingDivisors = numerator;
- System.out.println("Введите знаменатель второй дроби: ");
- denominator = getException(denominator);
- float denominatorForFindingDivisors = denominator;
- if (denominator == 0) {
- System.err.println("Введите знаменатель, не равный 0!");
- isIncorrect = true;
- } else if (numerator == 0){
- System.err.println("Введите числитель, не равный 0!");
- isIncorrect = true;
- } else while (denominatorForFindingDivisors != 0) {
- if (numeratorForFindingDivisors > denominatorForFindingDivisors)
- numeratorForFindingDivisors = numeratorForFindingDivisors - denominatorForFindingDivisors;
- else
- denominatorForFindingDivisors = denominatorForFindingDivisors - numeratorForFindingDivisors;
- }
- if (numeratorForFindingDivisors > 1) {
- System.err.println("Дробь должна быть несократимой! Попробуйте ещё.");
- isIncorrect = true;
- }
- } while (isIncorrect);
- float fraction = numerator / denominator;
- return fraction;
- }
- static float getException(float number){
- boolean isIncorrect;
- do{
- isIncorrect = false;
- try {
- number = Integer.parseInt(scan.nextLine());
- }
- catch (NumberFormatException e) {
- System.err.println("Введите натуральное число!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- return number;
- }
- static void getSumOfFractions(float firstFraction, float secondFraction) {
- float sum = firstFraction + secondFraction;
- System.out.println("Сумма дробей: " + sum);
- }
- public static void main(String[] args) {
- System.out.println("Программа считает сумму двух обыкновенных несократимых дробей");
- float firstFraction = getFirstFraction();
- float secondFraction = getSecondFraction();
- getSumOfFractions(firstFraction, secondFraction);
- scan.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement