Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Proyecto 8 - Programación 2

NotificationsYou must be signed in to change notification settings

KPlanisphere/Rational-Number-and-Matrix-Operations-in-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

This repository contains a Java project for performing arithmetic operations on rational numbers and operations on matrices of rational numbers. The project includes classes for defining rational numbers, handling matrix operations, and managing user input to display the results.

Features

  • Rational Number Representation: Defines rational numbers with methods for basic arithmetic operations and simplification.
  • Matrix Operations: Implements operations such as addition, subtraction, and multiplication for matrices of rational numbers.
  • User Interaction: Handles user input to create rational numbers and matrices and perform various operations.
  • Result Display: Outputs the results of arithmetic and matrix operations.

Code Snippets

Main Class

The main class initializes the program, handles user input, and invokes methods for arithmetic and matrix operations.

publicclassPrincipal {publicstaticvoidmain(String[]args) {Scannerscanner =newScanner(System.in);// Rational number operationsSystem.out.print("Enter numerator for the first rational number: ");intnum1 =scanner.nextInt();System.out.print("Enter denominator for the first rational number: ");intden1 =scanner.nextInt();TRacionalr1 =newTRacional(num1,den1);System.out.print("Enter numerator for the second rational number: ");intnum2 =scanner.nextInt();System.out.print("Enter denominator for the second rational number: ");intden2 =scanner.nextInt();TRacionalr2 =newTRacional(num2,den2);TOperaRacionalesops =newTOperaRacionales();System.out.println("Sum: " +ops.add(r1,r2));System.out.println("Difference: " +ops.subtract(r1,r2));System.out.println("Product: " +ops.multiply(r1,r2));System.out.println("Quotient: " +ops.divide(r1,r2));// Matrix operationsSystem.out.print("Enter the number of rows for the matrices: ");introws =scanner.nextInt();System.out.print("Enter the number of columns for the matrices: ");intcols =scanner.nextInt();TMatrizRacionalm1 =newTMatrizRacional(rows,cols);TMatrizRacionalm2 =newTMatrizRacional(rows,cols);System.out.println("Enter elements for the first matrix:");m1.readMatrix(scanner);System.out.println("Enter elements for the second matrix:");m2.readMatrix(scanner);TOpMatricesRacionalesmatrixOps =newTOpMatricesRacionales();System.out.println("Matrix Sum:");matrixOps.add(m1,m2).printMatrix();System.out.println("Matrix Difference:");matrixOps.subtract(m1,m2).printMatrix();System.out.println("Matrix Product:");matrixOps.multiply(m1,m2).printMatrix();    }}

Rational Number Class

TheTRacional class represents a rational number and includes methods for arithmetic operations and simplification.

publicclassTRacional {privateintnumerator;privateintdenominator;publicTRacional(intnumerator,intdenominator) {this.numerator =numerator;this.denominator =denominator;simplify();    }privatevoidsimplify() {intgcd =gcd(numerator,denominator);numerator /=gcd;denominator /=gcd;    }privateintgcd(inta,intb) {while (b !=0) {inttemp =b;b =a %b;a =temp;        }returna;    }@OverridepublicStringtoString() {returnnumerator +"/" +denominator;    }}

Matrix Class

TheTMatrizRacional class represents a matrix of rational numbers and includes methods for reading and printing matrices.

publicclassTMatrizRacional {privateTRacional[][]matrix;privateintrows;privateintcols;publicTMatrizRacional(introws,intcols) {this.rows =rows;this.cols =cols;matrix =newTRacional[rows][cols];    }publicvoidreadMatrix(Scannerscanner) {for (inti =0;i <rows;i++) {for (intj =0;j <cols;j++) {System.out.print("Enter numerator for element [" +i +"][" +j +"]: ");intnum =scanner.nextInt();System.out.print("Enter denominator for element [" +i +"][" +j +"]: ");intden =scanner.nextInt();matrix[i][j] =newTRacional(num,den);            }        }    }publicvoidprintMatrix() {for (inti =0;i <rows;i++) {for (intj =0;j <cols;j++) {System.out.print(matrix[i][j] +" ");            }System.out.println();        }    }publicTRacionalgetElement(introw,intcol) {returnmatrix[row][col];    }publicvoidsetElement(introw,intcol,TRacionalvalue) {matrix[row][col] =value;    }publicintgetRows() {returnrows;    }publicintgetCols() {returncols;    }}

Operations Classes

TheTOperaRacionales andTOpMatricesRacionales classes contain methods for performing operations on rational numbers and matrices.

publicclassTOperaRacionales {publicTRacionaladd(TRacionalr1,TRacionalr2) {intnum =r1.getNumerator() *r2.getDenominator() +r2.getNumerator() *r1.getDenominator();intden =r1.getDenominator() *r2.getDenominator();returnnewTRacional(num,den);    }publicTRacionalsubtract(TRacionalr1,TRacionalr2) {intnum =r1.getNumerator() *r2.getDenominator() -r2.getNumerator() *r1.getDenominator();intden =r1.getDenominator() *r2.getDenominator();returnnewTRacional(num,den);    }publicTRacionalmultiply(TRacionalr1,TRacionalr2) {intnum =r1.getNumerator() *r2.getNumerator();intden =r1.getDenominator() *r2.getDenominator();returnnewTRacional(num,den);    }publicTRacionaldivide(TRacionalr1,TRacionalr2) {intnum =r1.getNumerator() *r2.getDenominator();intden =r1.getDenominator() *r2.getNumerator();returnnewTRacional(num,den);    }}publicclassTOpMatricesRacionales {publicTMatrizRacionaladd(TMatrizRacionalm1,TMatrizRacionalm2) {introws =m1.getRows();intcols =m1.getCols();TMatrizRacionalresult =newTMatrizRacional(rows,cols);for (inti =0;i <rows;i++) {for (intj =0;j <cols;j++) {TRacionalsum =m1.getElement(i,j).add(m2.getElement(i,j));result.setElement(i,j,sum);            }        }returnresult;    }publicTMatrizRacionalsubtract(TMatrizRacionalm1,TMatrizRacionalm2) {introws =m1.getRows();intcols =m1.getCols();TMatrizRacionalresult =newTMatrizRacional(rows,cols);for (inti =0;i <rows;i++) {for (intj =0;j <cols;j++) {TRacionaldifference =m1.getElement(i,j).subtract(m2.getElement(i,j));result.setElement(i,j,difference);            }        }returnresult;    }publicTMatrizRacionalmultiply(TMatrizRacionalm1,TMatrizRacionalm2) {introws =m1.getRows();intcols =m1.getCols();TMatrizRacionalresult =newTMatrizRacional(rows,cols);for (inti =0;i <rows;i++) {for (intj =0;j <cols;j++) {TRacionalproduct =newTRacional(0,1);for (intk =0;k <cols;k++) {TRacionaltemp =m1.getElement(i,k).multiply(m2.getElement(k,j));product =product.add(temp);                }result.setElement(i,j,product);            }        }returnresult;    }}

Usage

  1. Compile the Java files using a Java compiler (e.g.,javac).
  2. Run the main class (Principal) to start the program.
  3. Follow the prompts to enter the dimensions and elements of the matrices, and the values for the rational numbers.
  4. The program will perform the specified operations and display the results.

Classes and Methods

  • Principal: The main class that handles user input and program execution.
    • main(String[] args): The entry point of the program.
  • TRacional: A class representing a rational number with methods for arithmetic operations and simplification.
    • TRacional(int numerator, int denominator): Constructor that initializes the rational number.
    • add(TRacional other),subtract(TRacional other),multiply(TRacional other),divide(TRacional other): Methods for arithmetic operations.
    • toString(): Method that returns the string representation of the rational number.
  • TMatrizRacional: A class representing a matrix of rational numbers with methods for reading and printing matrices.
    • TMatrizRacional(int rows, int cols): Constructor that initializes the matrix dimensions.
    • readMatrix(Scanner scanner): Method that reads matrix data from the user.
    • printMatrix(): Method that prints the matrix.
    • getElement(int row, int col),setElement(int row, int col, TRacional value): Methods to get and set matrix elements.
  • TOperaRacionales: A class containing methods for performing arithmetic operations on rational numbers.
    • add(TRacional r1, TRacional r2),subtract(TRacional r1, TRacional r2),multiply(TRacional r1, TRacional r2),divide(TRacional r1, TRacional r2): Methods for arithmetic operations.
  • TOpMatricesRacionales: A class containing methods for performing operations on matrices of rational numbers.
    • add(TMatrizRacional m1, TMatrizRacional m2),subtract(TMatrizRacional m1, TMatrizRacional m2),multiply(TMatrizRacional m1, TMatrizRacional m2): Methods for matrix operations.

[8]ページ先頭

©2009-2025 Movatter.jp