Recent Posts

Java: Xây dựng lớp Phân Số và các Hàm toán học (cộng, trừ, nhân, chia, nghịch đảo) của Phân số

-

Thiết kế lớp PhanSo (Phân số) gồm có:
        + 2 thuộc tính tử số và mẫu số thuộc kiểu nguyên
        + Các phương thức:
               - Phương thức khởi tạo.
               - Phương thức in phân số.
               - Phương thức nghịch đảo phân số.
               - Phương thức trả về giá trị thực của phân số
               - Hàm cộng, trừ, nhân, chia 2 phân số.
        + Phương thức main() sử dụng lớp PhanSo.
-------------------------------------------- 
import java.io.*;
public class PhanSo{
        protected int ts,ms;
        PhanSo(){
        }
        PhanSo(int t, int m){
               ts=t;
               ms=m;
        }
        static int nhapgt() throws IOException{            
               InputStreamReader isr = new InputStreamReader(System.in);
               BufferedReader br = new BufferedReader(isr);
               String str = br.readLine();
               return Integer.valueOf(str).intValue();
        }     
        PhanSo nhapps(int x) throws IOException{
               int tu,mau;
               System.out.println("Nhap phan so thu: " +x);
               System.out.print("Tu so: ");
               tu=nhapgt();
               System.out.print("Mau so: ");
               do{
                       mau=nhapgt();
                       if(mau==0) System.out.print("Nhap lai mau so");
               }while(mau==0);
               PhanSo ps = new PhanSo(tu,mau);
               return ps;
        }
        static int UCLN(int a, int b){
               while(a!=b){
                       if(a>b) a=a-b;
                       else b=b-a;
               }
               return a;
        }
        static PhanSo toigian(PhanSo ps){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps.ts/UCLN(Math.abs(ps.ts),Math.abs(ps.ms));
               phanso.ms = ps.ms/UCLN(Math.abs(ps.ts),Math.abs(ps.ms));
               return phanso;
        }
        static PhanSo tong(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts= ps1.ts*ps2.ms + ps2.ts*ps1.ms;
               phanso.ms= ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso=toigian(phanso);
               return phanso;
        }
        static PhanSo hieu(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps1.ts*ps2.ms - ps2.ts*ps1.ms;
               phanso.ms = ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso = toigian(phanso);
               return phanso;
        }
        static PhanSo tich(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps1.ts*ps2.ts;
               phanso.ms = ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso = toigian(phanso);
               return phanso;
        }
        static PhanSo thuong(PhanSo ps1,PhanSo ps2){
               PhanSo phanso=new PhanSo();
               phanso.ts = ps1.ts*ps2.ms;
               phanso.ms = ps1.ms*ps2.ts;
               if(phanso.ts!=0)
                       phanso=toigian(phanso);
               return phanso;
        }
        static void Hienthi(PhanSo ps){
               if(ps.ts==0 || ps.ms==1) System.out.print(ps.ts);
               else System.out.println(ps.ts+"/"+ps.ms);
        }
        public static void main(String args[]) throws IOException{
               PhanSo ps1 = new PhanSo();
               PhanSo ps2 = new PhanSo();
               ps1=ps1.nhapps(1);
               ps2=ps2.nhapps(2);
               if(ps1.ts!=0)
                       ps1=toigian(ps1);
               if(ps2.ts!=0)
                       ps2=toigian(ps2);
               System.out.println("Phan so 1 o dang toi gian: "); Hienthi(ps1);
               System.out.println();
               System.out.println("Phan so 2 o dang toi gian: "); Hienthi(ps2);
               System.out.println();
               System.out.print("Phan so tong: "); Hienthi(tong(ps1,ps2));
               System.out.print("Phan so hieu: "); Hienthi(hieu(ps1,ps2));
               System.out.print("Phan so tich: "); Hienthi(tich(ps1,ps2));
               if (ps2.ts!=0){
                       System.out.print("Phan so thuong(phan so 1/phan so 2): ");
                       Hienthi(thuong(ps1,ps2));
               }
               else System.out.print("Khong the thuc hien phep chia phan so 1/phan so 2 ");
                       System.out.println();
               if (ps1.ts!=0){
                       System.out.print("Phan so thuong(phan so 2/phan so 1): ");
                       Hienthi(thuong(ps2,ps1));
                }
               else System.out.print("Khong the thuc hien phep chia phan so 2/phan so 1 ");
                       System.out.println();
            }

Related Post:

  • JavaScript: Khai báo và sử dụng hàm trong JavaScript1. ĐỊNH NGHĨAHàm là một đọan chương trình có thể được sử dụng nhiều lần trong một chương trình để thực hiện một tác vụ nào đó.1.1. Xây dựng hàm: Trong JavaScript, dùng từ khoá function để định nghĩa hàm. Một hàm có cấu trúc như sau:- NameFunction: là tên hàm do người lập trình tự đặt. - Qui tắc đặt tên hàm giống như tên biến. Sau NameFunction là cặp dấu ngoặc ( )… Read More
  • Mật mã học: Mật mã hóa KHÓA CÔNG KHAI (Khóa bất đối xứng)Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật).Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật m… Read More
  • Mật mã học: Tổng quan về mật mã họcMật mã học là gì Mật mã học là một lĩnh vực liên quan với các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cụ thể là trong thông tin liên lạc. Về phương diện lịch sử, mật mã học gắn liền với quá trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhưng ở đây là từ dạng thông thường có thể n… Read More
  • Mật mã học: Thuật toán khóa đối xứng (Symmetric-Key Algorithms)Trong mật mã học, các thuật toán khóa đối xứng (tiếng Anh: symmetric-key algorithms) là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếu biết khóa kia).Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã có nghĩa chúng có thể hoàn toàn giống nh… Read More
  • HTML: Tổng quan về JavaScript1. GIỚI THIỆU VỀ JAVASCRIPT: Javascript ra đời với tên gọi LiveScript, sau đó Nescape đổi tên thành Javascript. Tuy nhiên giữa Java và Javascript có rất ít các điểm chung dù cú pháp của chúng có thể có những điểm giống nhau.Javascript là một ngôn ngữ kịch bản (script) để viết kịch bản cho phía client. Client side là những yêu cầu của người sử dụng được xử lý tại … Read More
  • HTML: Sử dụng CSS (Cascading Style Sheet) thiết kế Website1. GIỚI THIỆU- Bảng kiểu (style sheet) nhằm thỏa mãn nhu cầu thẩm mỹ, tiện dụng nhưng giữ tính thống nhất cho trang HTML. CSS (Cascading Style Sheet) cho phép định dạng một số tính chất thông thường cùng một lúc cho tất cả các đối tượng trên trang được đánh dấu bằng thẻ đặc biệt- Tiện ích của CSS là:Tiết kiệm thời gianKhi thay đổi định dạng chỉ cần thay đổi CSS, các t… Read More




Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@