Chủ Đề: Đề thi java (Có lời giải chi tiết)
Đề 1:
1>Xay dung lop phan so voi hai thuoc tinh rieng xac dinh tu so va mau so
cua phan so va xay dung cac Phuong thuc:
-Cac toan tu tao lap
-Cac phep toan cong ,tru ,nhan ,chia cac phan so
-phep kiem tra mot phan so co phai toi gian hay ko
-Phep tim dang toi gian cua phan so.
2>Viet chuong trinh ung dung thuc hien viec nhap vao mot day cac phan so
va in ra man hinh dang toi gian cua cac phan so do.
PHP Code:
import java.*;
class PhanSo
{
protected int ts,ms;
PhanSo(){}
PhanSo(int tu,int mau)
{
ts=tu;
ms=mau;
}
static int nhapgt()throws IOException
{
String str;
DataInputStream stream=new DataInputStream(Syste
m);
str=stream();
return Integer(str).intValue();
}
PhanSo nhapps(int x)throws IOException
{
int tu,mau;
System.out("Nhap phan so thu "+x);
System.out("Tu so: ");
tu=nhapgt();
System.out("Mau so: ");
do
{
mau=nhapgt();
if (mau== 0 ) System.out("Nhap lai:
");
} 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/UCLN(Math(ps),Math(ps
.ms));
phanso.ms=ps/UCLN(Math(ps),Math(ps
.ms));
return phanso;
}
static PhanSo tong(PhanSo ps1,PhanSo ps2)
{
PhanSo phanso=new PhanSo();
phanso.ts=ps1ps2+ps2ps1;
phanso.ms=ps1ps2;
if(phanso!= 0 )
phanso=toigian(phanso);
return phanso;
}
static PhanSo hieu(PhanSo ps1,PhanSo ps2)
{
PhanSo phanso=new PhanSo();
phanso.ts=ps1ps2.ms-ps2ps1;
phanso.ms=ps1ps2;
if(phanso!= 0 )
phanso=toigian(phanso);
return phanso;
}
static PhanSo tich(PhanSo ps1,PhanSo ps2)
{
PhanSo phanso=new PhanSo();
phanso.ts=ps1ps2;
phanso.ms=ps1ps2;
if(phanso!= 0 )
if (ps2!= 0 )
{
System.out("Phan so thuong(phan so
1/phan so 2): ");
hthi(thuong(ps1,ps2));
}
else System.out("Khong the thuc hien phep
chia phan so 1/phan so 2 ");
System.out();
if (ps1!= 0 )
{
System.out("Phan so thuong(phan so
2/phan so 1): ");
hthi(thuong(ps2,ps1));
}
else System.out("Khong the thuc hien phep
chia phan so 2/phan so 1 ");
System.out();
}
}
Đề 2:
Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên.
- Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, năm sinh, giới tính, địa
chỉ - Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 …)
- C·c kỹ sư cần quản lý: Ngành đào tạo
- Các nhân viên phục vụ cần quản lý thông tin: công việc
- Xây dựng các lớp NhanVien, CongNhan, KySu kế thừa từ lớp CanBo
- Xây dựng các hàm để truy nhập, hiển thị thông tin và kiểm tra về các
thuộc tính của các lớp. - Xây dựng lớp QLCB cài đặt các phương thức thực hiện các chức năng sau:
- Nhập thông tin mới cho cán bộ
- Tìm kiếm theo họ tên
- Hiển thị thông tin về danh sách các cán bộ
- Thoát khỏi chương trình.
PHP Code:
import java.*;
class CanBo
{
protected String hvt,dc,gt;
protected int ns;
CanBo(){}
}
class CongNhan extends CanBo
Tóm Tắt
{
protected String bac;
CongNhan(){}
}
class NhanVien extends CanBo
{
protected String congviec;
NhanVien(){}
}
class KySu extends CanBo
{
protected String nganhdt;
KySu(){}
}
class QLCB
{
static String nhapgt()throws IOException
{
String str;
DataInputStream stream = new DataInputSt
ream(System);
str =stream();
return str;
}
static boolean ssxau(String s1,String s2)
{
if (s1(s2)) return fals
e;
else return true;
}
static int nhapnn()throws IOException
{
String nn;
System.out("Nghe nghiep: ");
do{
nn=nhapgt();
if (ssxau(nn,"nv")&&ssxau(nn,"cn")&&
ssxau(nn,"ks"))
System.out("Ban chi co
the nhap nv/cn/ks: ");
} while (ssxau(nn,"nv")&&ssxau(nn,"cn"
)&&ssxau(nn,"ks"));
if (ssxau(nn,"nv")==false) return 1 ;
else
if (ssxau(nn,"cn")==false) return 2 ;
else
if (ssxau(nn,"ks")==false) return
System.out("So can bo: ");
scb=Integer(nhapgt()).intValue()
;
NhanVien NV []=new NhanVien[scb];
CongNhan CN []=new CongNhan[scb];
KySu KS []=new KySu[scb];
System.out("Nhap thong tin cho c
ac CB: ");
for(i= 0 ;i<scb;i++)
{
System.out("Ho ten: ");
hvt=nhapgt();
System.out("Nam sinh: ");
ns=Integer(nhapgt()).int
Value();
System.out("Gioi tinh: ");
gt=nhapgt();
System.out("Dia chi: ");
dc=nhapgt();
nn=nhapnn();
switch (nn){
case 1 :
NV[snv]=new NhanVien();
NV[snv].hvt=hvt;
NV[snv].gt=gt;
NV[snv].ns=ns;
NV[snv].dc=dc;
System.out("Cong v
iec: ");
NV[snv].congviec=nhapgt(
);
snv++;
break;
case 2 :
CN[scn]=new CongNhan();
CN[scn].hvt=hvt;
CN[scn].gt=gt;
CN[scn].ns=ns;
CN[scn].dc=dc;
System.out("Bac: "
);
CN[scn].bac=nhapgt();
scn++;
break;
case 3 :
KS[sks]=new KySu();
KS[sks].hvt=hvt;
KS[sks].gt=gt;
KS[sks].ns=ns;
KS[sks].dc=dc;
System.out("Nghanh
dao tao: ");
KS[sks].nganhdt=nhapgt()
;
sks++;
break;
default: System.out(
);
}
}
System.out("——–HIEN THI—-
–");
for(i= 0 ;i<scb;i++)
{
if (NV[i]!=null)
hienthinv(NV[i]);
if (CN[i]!=null)
hienthicn(CN[i]);
if (KS[i]!=null)
hienthiks(KS[i]);
}
String ht;
System.out("——–TIM KIEM—-
—");
System.out("Moi ban nhap ho ten ca
n tim: ");
ht=nhapgt();
for(i= 0 ;i<scb;i++)
{
if (NV[i]!=null&&timkiem(NV[i],h
t))
hienthinv(NV[i]);
if (CN[i]!=null&&timkiem(CN[i],h
t))
hienthicn(CN[i]);
if (KS[i]!=null&&timkiem(KS[i],h
t))
hienthiks(KS[i]);
}
}
}
str =stream();
return str;
}
static void nhaptl(TaiLieu tl)throws IOException
{
System.out("Ma tai lieu: ");
tl=nhapgt();
System.out("NXB: ");
tl=nhapgt();
System.out("So ban phat hanh: ");
tl=nhapgt();
}
static void nhapsach(Sach sh)throws IOException
{
nhaptl(sh);
System.out("Ten tac gia: ");
sh=nhapgt();
System.out("So trang: ");
sh=nhapgt();
}
static void nhaptapchi(TapChi tc)throws IOException
{
nhaptl(tc);
System.out("So phat hanh: ");
tc=nhapgt();
System.out("Thang phat hanh: ");
tc=nhapgt();
}
static void nhapbao(Bao bao)throws IOException
{
nhaptl(bao);
System.out("Ngay phat hanh: ");
bao=nhapgt();
}
static void hienthitl(TaiLieu tl)
{
System.out("Ma tai lieu: "+tl);
System.out("NXB: "+tl);
System.out("So ban phat hanh: "+tl)
;
}
static void hienthisach(Sach sa)
{
System.out("———-SACH———");
hienthitl(sa);
System.out("Ten tac gia: "+sa);
System.out("So trang: "+sa);
}
static void hienthitc(TapChi tc)
{
System.out("———-TAP CHI———
");
hienthitl(tc);
System.out("So phat hanh: "+tc);
System.out("Thang phat hanh: "+tc);
}
static void hienthibao(Bao bao)
{
System.out("———BAO———-");
hienthitl(bao);
System.out("Ngay phat hanh: "+bao);
}
static int nhaplc()throws IOException
{
String a;
System.out("Ten tai lieu: ");
do{
a=nhapgt();
if (a("sach")==false&&a
alsIgnoreCase("tapchi")==false&&a("bao")==false
)
System.out("Ban chi co the nhap sac
h/tapchi/bao: ");
} while (a("sach")==false&&a.
equalsIgnoreCase("tapchi")==false&&a("bao")==fa
lse);
if (a("sach")) return 1 ;
else
if (a("tapchi")) return 2 ;
else
if (a("bao")) return 3 ;
else return 0 ;
}
static void timtl(Sach sa,TapChi tc,Bao bao,int lc)throw
s IOException
{
switch (lc)
{
case 1 :
if(sa!=null)
hienthisach(sa);
break;
if (SA[i]!=null) hienthisach(SA[i]);
if (TC[i]!=null) hienthitc(TC[i]);
if (BA[i]!=null) hienthibao(BA[i]);
}
System.out("————Tim kiem——–
—");
int lc=nhaplc();
for (int i= 0 ;i<n;i++)
timtl(SA[i],TC[i],BA[i],lc);
}
}
Đề 4:
Các thí sinh dự thi đại học bao gồm các thí sinh thi khối A, thí sinh thi khối
B, thí sinh thi khối C
- C·c thí sinh cần quản lý các thuộc tính: Số báo danh, họ tên, địa chỉ, ưu
tiÍn. - Thí sinh thi khối A thi các môn: Toán, lý, hoá
- Thí sinh thi khối B thi các môn: Toán, Hoá, Sinh
- Thí sinh thi khối C thi các môn: văn, Sử, Địa
- Xây dựng các lớp để quản lý các thí sinh sao cho sử dụng lại được nhiều
nhất. - Xây dựng lớp TuyenSinh cài đặt các phương thức thực hiện các nhiệm vụ
sau:
- Nhập thông tin về các thí sinh dự thi
- Hiển thị thông tin về một thí sinh
- Tìm kiếm theo số báo danh
- Kết thúc chương trình.
PHP Code:
import java.*;
class ThiSinh
{
protected String hvt,dc,ut;
protected int sbd;
ThiSinh(){}
}
class KhoiA extends ThiSinh
{
protected String Mon1,Mon2,Mon3;
KhoiA(){}
KhoiA(String m1,String m2,String m3)
{
Mon1=m1;
Mon2=m2;
Mon3=m3;
}
}
class KhoiB extends KhoiA
{
KhoiB(){}
KhoiB(String m1,String m2,String m3)
{
Mon1=m1;
Mon2=m2;
Mon3=m3;
}
}
class KhoiC extends KhoiA
{
KhoiC(){}
KhoiC(String m1,String m2,String m3)
{
Mon1=m1;
Mon2=m2;
Mon3=m3;
}
}
class TuyenSinh
{
static String nhapgt()throws IOException
{
String str;
DataInputStream stream = new DataInputStream(Sys
tem);
str =stream();
return str;
}
static void nhapts(ThiSinh ts)throws IOException
{
System.out("SBD: ");
ts.sbd=Integer(nhapgt()).intValue();
System.out("Ho va ten: ");
ts=nhapgt();
System.out("Dia chi: ");
ts=nhapgt();
System.out("Uu tien: ");
ts=nhapgt();
}
static void hienthi(KhoiA ts)
{ System.out("——————–");
System.out("SBD: "+ts);
,"Hoa");
nhapts(TSA[a]);
a++;
break;
case 2 :
TSB[b]=new KhoiB("Toan","Hoa
","Sinh");
nhapts(TSB[b]);
b++;
break;
case 3 :
TSC[c]=new KhoiC("Van","Su",
"Dia");
nhapts(TSC[c]);
c++;
break;
default: System.out();
}
}
System.out("———-HIEN THI———-
— ");
for(int j= 0 ;j<n;j++)
{
if (TSA[j]!=null)
hienthi(TSA[j]);
if (TSB[j]!=null)
hienthi(TSB[j]);
if (TSC[j]!=null)
hienthi(TSB[j]);
}
}
}
Đề 5:
Để quản lý các hộ dân trong một khu phố, ngưßi ta quản l ̋ c·c thÙng tin
như sau:
- Với mỗi hộ dân, có các thuộc tính:
- Số thành viên trong hộ ( số ngưßi)
- Số nhà của hộ dân đó. ( Số nhà được gắn cho mỗi hộ dân)
- Thông tin về mỗi cá nhân trong hộ gia đình.
- Với mỗi cá nhân, ngưßi ta quản lý các thông tin như: họ và tên, tuổi, năm
sinh, nghề nghiệp.
-
Hãy xây dựng lớp Nguoi để quản lý thông tin về mỗi cá nhân.
-
Xây dựng lớp KhuPho để quản lý thông tin về các hộ gia đình.
-
Viết các phương thức nhập, hiển thị thông tin cho mỗi cá nhân.
-
Cài đặt chương trình thực hiện các công việc sau:
- Nhập vào một dãy gồm n hộ dân (n – nhập từ bàn phím).
- Hiển thị ra màn hình thông tin về các hộ trong khu phố.
PHP Code:
import java.*;
class Nguoi
{
protected String hvt,ns,nn;
Nguoi(){}
}
class KhuPho
{
protected int stv,sn;
KhuPho(){}
Nguoi tv[];
}
class QL
{
static String nhapgt()throws IOException
{
String str;
DataInputStream stream = new DataInputStream(Sys
tem);
str =stream();
return str;
}
static void nhap(KhuPho kp)throws IOException
{
System.out("So nha: ");
kp.sn=Integer(nhapgt()).intValue();
System.out("So thanh vien: ");
kp.stv=Integer(nhapgt()).intValue();
kp=new Nguoi[kp];
for(int i= 0 ;i<kp;i++)
{
System.out("Thanh vien thu "+(i+
1 ));
kp[i]=new Nguoi();
System.out("Ho ten: ");
kp[i].hvt=nhapgt();
System.out("Nam sinh: ");
kp[i].ns=nhapgt();
System.out("Nghe nghiep: ");
kp[i].nn=nhapgt();
}
khách trọ.
- Với mỗi cá nhân, ngưßi ta cần quản lý các thông tin : Họ và tên, tuổi, năm
sinh, số chứng minh thư nhân dân.
- Hãy xây dựng lớp Nguoi để quản lý thông tin cá nhân về mỗi c· nh‚n
- Xây dựng lớp KhachSan để quản lý các thông tin về khách trọ.
- Viết các phương thức : nhập, hiển thị các thông tin về mỗi khách trọ
- Cài đặt chương trình thực hiện các công việc sau:
- Nhập vào một dãy gồm n khách trọ ( n – nhập từ bàn phím)
- Hiển thị ra màn hình thông tin về các cá nhân hiện đang trọ á khách sạn
đó.
PHP Code:
import java.*;
class Nguoi
{
protected String hvt,ns,scm;
Nguoi(){}
}
class KhachSan
{
protected String snt,lp,gp;
KhachSan(){}
Nguoi kt;
}
class QL
{
static String nhapgt()throws IOException
{
String str;
DataInputStream stream = new DataInputStream(Sys
tem);
str =stream();
return str;
}
static void nhap(KhachSan ks)throws IOException
{
System.out("So ngay tro: ");
ks=nhapgt();
System.out("Loai phong: ");
ks=nhapgt();
System.out("Gia phong(d/ngay): ");
ks=nhapgt();
ks=new Nguoi();
System.out("Thong tin ca nhan cua khach
");
System.out("Ho ten: ");
ks.kt=nhapgt();
System.out("Nam sinh: ");
ks.kt=nhapgt();
System.out("So CM nhan dan: ");
ks.kt=nhapgt();
}
static void hienthi(KhachSan ks)
{
System.out("Ho ten: "+ks.kt);
System.out("Nam sinh: "+ks.kt);
System.out("So CMND: "+ks.kt);
}
public static void main(String args[])throws IOException
{
int n;
System.out("So khach tro: ");
n=Integer(nhapgt()).intValue();
KhachSan KT []=new KhachSan[n];
System.out("——–NHAP THONG TIN——
—");
for(int j= 0 ;j<n;j++)
{
System.out("Khach tro thu "+(j+ 1
));
KT[j]=new KhachSan();
nhap(KT[j]);
}
System.out("———-HIEN THI———-
— ");
for(int j= 0 ;j<n;j++)
{
System.out("——————–
— ");
System.out("Khach tro thu "+(j+ 1
));
hienthi(KT[j]);
}
}
}
Đề 7:
Để quản lý hồ sơ học sinh của trưßng THPT, ngưßi ta cần quản lý những
thông tin như sau:
- Các thông tin về : lớp, khoá học, kỳ học, và các thông tin cá nhân của mỗi