Xây dựng Project theo mô hình kế thừa sau:
Trong đó:
S1= 1+3+5+...+(2*n+1).
S2=1!+2!+3!+...+m!
S3=1!/x^1+2!/x^2+3!/x^3+...n!/x^n
(với x, n, m nhập vào từ bàn phím; thỏa mãn 1 <= x <= 3, 1 <= n <= 10, 1<= m <= 7.)
[NetBean]
1. Xây dựng Project như sau:
2. Code:
//-------------------------------------------
// class TinhS
//-------------------------------------------
package vd_abstract_140114;
public abstract class TinhS {
float x;
int n,m;
String tenPT;
// constructor
public TinhS(){
this.x=0; this.n=0; this.m=0;this.tenPT="";
}
// Tinh giai thua
long GiaiThua(int n){
long gt=1;
for(int i=1;i<=n;i++)
gt*=i;
return gt;
}
// Phuong thuc truu tuong (abstract)
abstract float TinhS();
// In ket qua
void InKQ(){
System.out.print("\n + "+tenPT+"= "+TinhS()+"\n");
}
}
//-------------------------------------------
// class S1
//-------------------------------------------
package vd_abstract_140114;
public class S1 extends TinhS{
// constructor
public S1(int n){
this.n=n;
this.tenPT="S1";
}
// Tinh S1
float TinhS(){
long s=0;
for(int i=1;i<=2*n+1;i=i+2)
s+=i;
return s;
}
}
//-------------------------------------------
// class S2
//-------------------------------------------
package vd_abstract_140114;
public class S2 extends TinhS{
// constructor
public S2(int m){
this.m=m;
this.tenPT="S2";
}
// Tinh S1
float TinhS(){
long s=0;
for(int i=1;i<=m;i++)
s+=GiaiThua(i);
return s;
}
}
//-------------------------------------------
// class VD_abstract_140114
/*
* http://www.laptrinhmaytinh.net
*/
package vd_abstract_140114;
import java.util.Scanner;
public class VD_abstract_140114 {
public static void main(String[] args) {
// Nhap x,n,m
float x;
int n,m;
System.out.print("\n NHAP DU LIEU DAU VAO: ");
Scanner inp=new Scanner(System.in);
try{
// nhap x
do{
System.out.print("\n + x= ");
x=inp.nextFloat();
if(x<1||x>3)
System.out.print("\n >> Nhap lai x! ");
}while(x<1||x>3);
// nhap n
do{
System.out.print("\n + n= ");
n=inp.nextInt();
if(n<1||n>10)
System.out.print("\n >> Nhap lai n! ");
}while(n<1||n>10);
// nhap m
do{
System.out.print("\n + m= ");
m=inp.nextInt();
if(m<1||m>7)
System.out.print("\n >> Nhap lai m! ");
}while(m<1||m>7);
System.out.print("\n KET QUA: ");
// khai bao doi tuong
S1 t=new S1(n);
t.InKQ();
S2 t1=new S2(m);
t1.InKQ();
S3 t2=new S3(x,n);
t2.InKQ();
}catch(Exception e){
System.out.print("\n * Da co loi xay ra! Ma loi: "+e.toString());
}
}
}
Trong đó:
S1= 1+3+5+...+(2*n+1).
S2=1!+2!+3!+...+m!
S3=1!/x^1+2!/x^2+3!/x^3+...n!/x^n
(với x, n, m nhập vào từ bàn phím; thỏa mãn 1 <= x <= 3, 1 <= n <= 10, 1<= m <= 7.)
[NetBean]
1. Xây dựng Project như sau:
2. Code:
//-------------------------------------------
// class TinhS
//-------------------------------------------
package vd_abstract_140114;
public abstract class TinhS {
float x;
int n,m;
String tenPT;
// constructor
public TinhS(){
this.x=0; this.n=0; this.m=0;this.tenPT="";
}
// Tinh giai thua
long GiaiThua(int n){
long gt=1;
for(int i=1;i<=n;i++)
gt*=i;
return gt;
}
// Phuong thuc truu tuong (abstract)
abstract float TinhS();
// In ket qua
void InKQ(){
System.out.print("\n + "+tenPT+"= "+TinhS()+"\n");
}
}
// class S1
//-------------------------------------------
package vd_abstract_140114;
public class S1 extends TinhS{
// constructor
public S1(int n){
this.n=n;
this.tenPT="S1";
}
// Tinh S1
float TinhS(){
long s=0;
for(int i=1;i<=2*n+1;i=i+2)
s+=i;
return s;
}
}
//-------------------------------------------
// class S2
//-------------------------------------------
package vd_abstract_140114;
public class S2 extends TinhS{
// constructor
public S2(int m){
this.m=m;
this.tenPT="S2";
}
// Tinh S1
float TinhS(){
long s=0;
for(int i=1;i<=m;i++)
s+=GiaiThua(i);
return s;
}
}
//-------------------------------------------
// class S3
//-------------------------------------------
// class S3
//-------------------------------------------
package vd_abstract_140114;
public class S3 extends TinhS{
// constructor
public S3(float x, int n){
this.n=n;
this.x=x;
this.tenPT="S3";
}
// Tinh S1
float TinhS(){
float s=0,m=x;
for(int i=1;i<=n;i++)
{
s+=(float)GiaiThua(i)/m;
m*=x;
}
return s;
}
}
// class VD_abstract_140114
/*
* http://www.laptrinhmaytinh.net
*/
package vd_abstract_140114;
import java.util.Scanner;
public class VD_abstract_140114 {
public static void main(String[] args) {
// Nhap x,n,m
float x;
int n,m;
System.out.print("\n NHAP DU LIEU DAU VAO: ");
Scanner inp=new Scanner(System.in);
try{
// nhap x
do{
System.out.print("\n + x= ");
x=inp.nextFloat();
if(x<1||x>3)
System.out.print("\n >> Nhap lai x! ");
}while(x<1||x>3);
// nhap n
do{
System.out.print("\n + n= ");
n=inp.nextInt();
if(n<1||n>10)
System.out.print("\n >> Nhap lai n! ");
}while(n<1||n>10);
// nhap m
do{
System.out.print("\n + m= ");
m=inp.nextInt();
if(m<1||m>7)
System.out.print("\n >> Nhap lai m! ");
}while(m<1||m>7);
System.out.print("\n KET QUA: ");
// khai bao doi tuong
S1 t=new S1(n);
t.InKQ();
S2 t1=new S2(m);
t1.InKQ();
S3 t2=new S3(x,n);
t2.InKQ();
}catch(Exception e){
System.out.print("\n * Da co loi xay ra! Ma loi: "+e.toString());
}
}
}
Một số tài liệu và khoá học bổ ích dành cho bạn:
# Tài liệu: Lập trình hướng đối tượng JAVA core dành cho người mới bắt đầu học lập trình [Click để xem]
# Khoá học online: Lập trình Java trong 4 tuần [Click để xem]