CHƯƠNG 2: NGÔN NGỮ JAVA Bài 1 Cài đặt JDK 1.6 và cài đặt NetBean 7.1 Thực hiện tạo mới 1 project java in ra màn hình kết quả dòng chữ “xin chào” trong hàm main() Làm quen với các thành phần NetBean 7.1 Bài 2 Khai báo (import) lớp Scanner trong gói java.util.Scanner sử dụng phương thức readLine() thực hiện trong hàm main nhập vào một xâu và in xâu vừa nhập ra màn hình. Code: package bai02; import java.util.Scanner; public class Bai02 { public static void main(String args) { Scanner nhap=new Scanner(System.in); System.out.print(Nhap xau: ); String xau=nhap.nextLine(); System.out.println(Xau vua nhap la: +xau); } } Bài 3 Sử dụng lớp Scanner trong gói java.util.Scanner sử dụng phương thức nextInt() thực hiện trong hàm main nhập vào hai số a, b in kết quả tổng a và b ra màn hình. Tương tự sử dụng với các lớp nextFloat(), nextDouble()..... để nhập các số kiểu float, double... Code: package bai03;
Trang 1KHOA CÔNG NGHỆ THÔNG TIN LỚP MẠNG MÁY TÍNH K10B
Trang 2CHƯƠNG 2: NGÔN NGỮ JAVA
Bài 1
Cài đặt JDK 1.6 và cài đặt NetBean 7.1
Thực hiện tạo mới 1 project java in ra màn hình kết quả dòng chữ “xin chào” trong hàm main()
Làm quen với các thành phần NetBean 7.1
Bài 2 Khai báo (import) lớp Scanner trong gói java.util.Scanner sử dụng phương thức readLine() thực hiện trong hàm main nhập vào một xâu và in xâu vừa nhập ra màn hình
Code:
package bai02;
import java.util.Scanner;
public class Bai02 {
public static void main(String[] args) {
Scanner nhap=new Scanner(System.in);
Trang 3Biên soạn: Thanh Cảnh - 2 -
import java.util.Scanner;
public class Bai03 {
public static void main(String[] args) {
Scanner nhap=new Scanner(System.in);
+public void inTTDiem(){ // in giá trị x,y ra màn hình }
+public double tinhKhoangCach(Diem d) {tính khoảng cách giữa điểm hiện thời
và đối số d}
Cài đặt lớp Main thực hiện tạo ra hai điểm D1=new Diem(3,7); D2= new Diem(9,3)
và in khoảng cách của hai điểm trên
Code:
//Class Diem
Trang 4package bai04;
public class Diem {
double x,y,x1,y1;
public Diem(){}
public Diem(double x1,double y1){x=x1;y=y1;}
public void inTTDiem(){
public class Bai04 {
public static void main(String[] args) {
Diem D1=new Diem(3,7);
Diem D2=new Diem(9,3);
System.out.println("Diem D1: ");
D1.inTTDiem();
System.out.println("Diem D2: ");
Trang 5Biên soạn: Thanh Cảnh - 4 -
System.out.println("Khoang cach D1, D2 la: "+D1.tinhKhoangCach(D2)); }
}
Bài 5
1 Xây dựng lớp SoPhuc có các thuộc tính riêng gồm: phanThuc, phanAo kiểu
double; và có:
+ Các toán tử tạo lập : SoPhuc(), SoPhuc(float pt, float pa)
+ Phương thức nhập vào một số phức: : void nhapSoPhuc()
+ Phương thức hiển thị một số phức: void inSoPhuc()
+ Phương thức cộng hai số phức : SoPhuc congSoPhuc(SoPhuc sp)
+ Phương thức nhan hai số phức: SoPhuc nhanSoPhuc(SoPhuc sp)
2.Cài đặt chương trình(lớp Main) thực hiện : Nhập vào hai số phức A và B, sau đó tính số phức tổng C1=A.congSoPhuc(B), nhân C=A.nhanSoPhuc(B) rồi hiển thị kết quả
ra màn hình
Tổng: (a + b.i) + (c + d.i) = (a + c) + (b + d).i
Tích: (a + b.i)(c + d.i) = (a.c - b.d) + (b.c + a.d).i
Trang 6public void nhapsophuc(){
Scanner sophuc= new Scanner(System.in);
System.out.print("nhap vao phan thuc: ");
Trang 7Biên soạn: Thanh Cảnh - 6 -
public class Bai05 {
public static void main(String[] args) {
SoPhuc A=new SoPhuc();
SoPhuc B=new SoPhuc();
System.out.println("nhap cho so phuc A:");
Trang 8}
}
Bài 6
Thực hiện nhập vào ba điểm toán, lý, hóa kiểu float tính diểm trung bình
(toán+lý+hóa)/3 lưu vào 1 bến hay sử dụng câu lệnh if kết hợp với các toán tử quan hệ
và các phép toán logic in ra xếp loại theo điểm trung bình
Scanner diem= new Scanner(System.in);
System.out.print("nhap vao diem toan: ");
float toan=diem.nextFloat();
dtoan=toan;
Trang 9Biên soạn: Thanh Cảnh - 8 -
System.out.print("nhap vao diem ly: ");
public class Bai06 {
public static void main(String[] args) {
Diem SV1=new Diem();
System.out.println("nhap vao diem cho SV: ");
Trang 10Xây dựng lớp Nguoi gồm có các thuộc tính chung : hoTen, diaChi, namSinh và các phương thức:
+Các toán tử tạo lập : public Nguoi(){}, public Nguoi(String ht,String dc,int ns){// nội dung tạo lập }
+Phương thức: public void nhap TT(){// nhập thông tin cho Nguoi}
+Phương thức: Public void inTT(){//in thông tin cho Nguoi}, public void
nhapTT(){// nhập thông tin từ bàn phím cho các thông tin của Nguoi },
Xây dựng lớp NhanSu kế thừa từ lớp Nguoi và có thêm các thuộc tính:
maNhanSu,heSochucVu, heSoLuong và thuộc tính tĩnh: scác phương thức: thực hiện viết đè các phương thức: tatic int luongCoBan và nhapTTNhanSu(),inTTNhanSu( )
phươn thức tĩnh static void setLuongCoBan(int lcb){luongCoBan=lcb}
public double tinhLuong(){ }
theo tiêu chí
lương=(heSoLuong+heSoChucVu)*luongCoBan-heSoLuong*luongCoBan*5%,
Tại lớp lớp Main tạo ra hai đối tượng thuộc lớp Nguoi, hai đối tượng thuộc lớp
NhanSu nhập thông tin luongCoBan cho lớp NhanSu và nhập,in thông tin của 4 đối tượng trên
Trang 11Biên soạn: Thanh Cảnh - 10 -
Trang 12System.out.println(" "+hoTen+" | "+diaChi+" | "+namSinh);
Scanner nhapNS=new Scanner(System.in);
System.out.print("nhap ma nhan su: ");
Trang 13Biên soạn: Thanh Cảnh - 12 -
public void inTTNS(){
System.out.println(" ma nhan su | he so chuc vu | he so luong ");
System.out.println(" "+MNS+" | "+HeSoChucVu+" | "+HeSoLuong); super.inTT();
+Phương thức: public void nhap TT(){// nhập thông tin cho Nguoi}
+Phương thức: Public void inTT(){//in thông tin cho Nguoi}, public void
nhapTT(){// nhập thông tin từ bàn phím cho các thông tin của Nguoi }
Xây dựng lớp SinhVien kế thừa từ lớp người thêm các thuộc tính maSV,
tenLop,diem1,diem2,diem3 và các phương thức:
+Các toán tử tạo lập
+Tính điểm TB: public float tinhDiemTrungBinh(){};
+viết đè hai phương thức nhapTT(), inTT()
Trang 14Tại lớp lớp Main tạo ra một đối tượng thuộc lớp Nguoi, một đối tượng thuộc lớp SinhVien nhập thông tin diem1,diem2,diem3 cho lớp SinhVien và nhập,in thông tin của
2 đối tượng trên
Scanner input=new Scanner(System.in);
System.out.print("nhap vao ho ten: ");
Trang 15Biên soạn: Thanh Cảnh - 14 -
public void inTT(){
System.out.println(" ho ten | dia chi | nam sinh");
System.out.println(" "+hoTen+" | "+" "+diaChi+" | "+" "+namSinh);
public void nhapTT(){
Scanner input=new Scanner(System.in);
Trang 16System.out.println(" MSV | lop | diem 1 | diem 2 | diem 3");
System.out.println(" "+MSV+" | "+tenLop+" | "+diem1+" | "+diem2+" |
"+diem3);
}
}
Bài 9
Xây dựng lớp ToanHoc với phương thức tĩnh(stattic) sau:
+Kiểm tra xem một số nguyên k có phải là số nguyên tố hay không ?
public static boolean kiemtraNguyenTo(int k)
+Hàm tính phần tử thứ n của dãy Fibonaci: public static int tinhFibo(int n)
Với công thức truy hồi được tính như sau:
Code:
//Class ToanHoc
package bai09;
public class ToanHoc {
public static boolean kiemtraNguyenTo(int x)
Trang 17Biên soạn: Thanh Cảnh - 16 -
public class Bai09 {
public static void main(String[] args) {
Trang 18+Kiểm tra xem một số nguyên k có phải là số nguyên tố hay không ?
public static boolean kiemtraNguyenTo(int k)
Code:
//Class ToanHoc
package bai10;
public class ToanHoc {
public static float TinhTong(int n)
Trang 19Biên soạn: Thanh Cảnh - 18 -
public static boolean NgTo(int n)
public class Bai10 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Trang 20k x
n k
x k x
S
) 1 (
!
! 2
! 1
1 2
public class ToanHoc {
public static int GiaiThua(int n)
Trang 21Biên soạn: Thanh Cảnh - 20 -
public class Bai11 {
public static void main(String[] args) {
Trang 22Scanner nhap=new Scanner(System.in);
public static double tinhTong(int n)
+ Kiểm tra xem một nguyên n có phải là số hoàn hảo hay không ?
public static boolean kiemtraHoanHao(int n)
Code:
//Class ToanHoc
package bai12;
public class ToanHoc {
public static float TinhTong(int n)
Trang 23Biên soạn: Thanh Cảnh - 22 -
public class Bai12 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Nhap n= ");
Trang 24public static double tinhTong(int n)
+Hàm tính giá trị trung bình của mảng:
public static double tinhTrungBinh(int M[])
Code:
//Class ToanHoc
package bai13;
public class ToanHoc {
public static long TinhTong(int n)
Trang 25Biên soạn: Thanh Cảnh - 24 -
public class Bai13 {
public static void main(String[] args) {
ToanHoc a=new ToanHoc();
Scanner input=new Scanner(System.in);
Trang 26Xây dựng lớp DaySo có các thành phần riêng (private) sau:
private int n; //số phần tử của dãy
private int m[] ; //lưu trữ các giá trị của dãy
-Các toán tử tạo lập: DaySo(int spt), DaySo(int m1[]), DaySo(){}
Các phương thức:
public void inDaySo() //in dãy ra màn hình
public void nhapDaySo()//nhập dãy số từ bàn phím
public void inSoNguyenTo(){} //in ra các số nguyên tố thuộc dãy số
public void inSoHoanHao()
public void sapXepTang() //sắp xếp dãy theo chiểu tăng
public void sapXepGiam()//sắp xếp dãy theo chiều giảm
public DaySo congDay(DaySo d1)// cộng hay dãy thành một dãy số
Trang 27Biên soạn: Thanh Cảnh - 26 -
System.out.print("Nhap do dai mang: ");
Scanner nhap =new Scanner(System.in);
Trang 29Biên soạn: Thanh Cảnh - 28 -
Trang 30DaySo Tong=new DaySo(spt);
public class ToanHoc {
public static boolean NgTo(int n)
Trang 31Biên soạn: Thanh Cảnh - 30 -
public static void main(String[] args) {
DaySo DS1 = new DaySo();
DaySo DS2 = new DaySo();
Trang 32System.out.println("So hoan hao trong day vua nhap la: ");
Xây dựng lớp MaTran với` các thuộc tính riêng(private)
private int n,m;// số dòng và cột của ma trận
private double M[][]; // lưu trữ các phần tử của ma trận
public void inMaTran()// in ma trận hiện thời
public void nhapMaTran()// nhập ma trận từ bàn phím
Trang 33Biên soạn: Thanh Cảnh - 32 -
public boolean kiemTraDoiXung()// kiểm tra tính đối xứng của mt qua đường chéo chính
public MaTran congMaTran(MaTran M1)
public MaTran nhanMaTran(MaTran M1)
Trang 34Scanner nhap=new Scanner(System.in);
Trang 35Biên soạn: Thanh Cảnh - 34 -
Trang 36public class Bai15 {
public static void main(String[] args) {
MaTran MT1=new MaTran();
MaTran MT2=new MaTran();
Trang 37Biên soạn: Thanh Cảnh - 36 -
Để 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 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
● Với mỗi hộ dân, có các thuộc tính:
+ Số thành viên trong hộ ( số người)
Trang 38+ Thông tin về mỗi cá nhân trong hộ gia đình(danh sách các cá nhân trong hộ dân) + Số nhà của hộ dân đó ( Số nhà được gắn cho mỗi hộ dân)
1 Hãy xây dựng các lớp: NhanSu để quản lý thông tin về mỗi cá nhân; lớp HoDan
để 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
2 Cài đặt lớp ChuongTrinhQuanLyHoDan 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)
Code:
//Class NhanSu
package bai16;
import java.util.Scanner;
public class NhanSu {
private int tuoi;
private int namsinh;
private String hoten;
private String nghenghiep;
public NhanSu(){}
public void Nhapthongtin()
{
Scanner nhap=new Scanner(System.in);
Scanner nhap2=new Scanner(System.in);
System.out.print("Họ và tên: ");
hoten=nhap2.nextLine();
System.out.print("Năm sinh:");
namsinh=nhap.nextInt();
Trang 39Biên soạn: Thanh Cảnh - 38 -
public class HoDan {
private int sothanhvien;
private int sonha;
Scanner nhap=new Scanner(System.in);
System.out.print("Số thành viên trong GĐ: ");
sothanhvien= nhap.nextInt();
Trang 41Biên soạn: Thanh Cảnh - 40 -
Scanner nhap=new Scanner(System.in);
System.out.print("Nhập số hộ GĐ trong khu phố: ");
+ 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
Trang 42Xâ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 các phương thức thực hiện các nhiệm vụ sau:
+ Nhập thông tin về một danh sách các thí sinh dự thi
+ Hiển thị thông tin của các thí sinh thi khối A
+ Nhập vào số báo danh của một thí sinh, hãy cho biết thí sinh đó thi khối gì và hiển thị thông tin của thí sinh đó
Scanner nhap =new Scanner(System.in);
System.out.print("Nhập số báo danh: ");
Trang 43Biên soạn: Thanh Cảnh - 42 -
{
System.out.println("Số báo danh: "+sobaodanh+" Họ tên: "+hoten+" Địa chỉ:
"+diachi+" Điểm ưu tiên: "+diemuutien);
Trang 45Biên soạn: Thanh Cảnh - 44 -
Trang 46System.out.print("Văn: "+van+" Sử: "+su+" Địa: "+dia);
public class Bai17a {
public static void main(String[] args) {
KhoiThi TS[];
Scanner nhap = new Scanner(System.in);
Scanner nhap2 = new Scanner(System.in);
System.out.println("Nhập thông tin thí sinh "+(i+1)+":");
TS[i] = new KhoiThi();
TS[i].NhapTTTS();
}
Trang 47Biên soạn: Thanh Cảnh - 46 -
Trang 48BÀI THỰC HÀNH CHƯƠNG 5 Bài 18
Xây dựng lớp Xau với các thành phần dữ liệu
pvivate String st:
+Phương thức nhập dữ liệu : public void nhapXau()
+Phương thức in dữ liệu public void inXau()
+Phương thức thay thế trong xâu hiện thời các xâu con st1 bằng xâu con st2
public void thayThe(String st1,String st2)
Trang 49Biên soạn: Thanh Cảnh - 48 -
Trang 50public class Bai18 {
public static void main(String[] args) {
Xau st= new Xau();
Scanner nhap=new Scanner(System.in);
Trang 51Biên soạn: Thanh Cảnh - 50 -
Bài 19
a.Xây dựng lớp Xau với hàm tĩnh sau :
+Hàm sắp xếp một mảng xâu theo thứ tự giảm dần của từ điển như sau :
public void sapXepXauGiam(String mangXau[])
+Phương thức đếm số lần xuất hiện của st2 trong st1 :
public static int demSoLanXuatHien(String s2, String s1)
(Phương thức này trả về số lần xuất hiện của xâu s2 trong xâu s1, nếu xâu s2
không xuất hiện trong xâu s1 thì phương thức này trả về -1.)
Scanner nhap = new Scanner(System.in);
Scanner nhap2 = new Scanner(System.in);
Trang 53Biên soạn: Thanh Cảnh - 52 -
public class Bai19 {
public static void main(String[] args) {
Xau st= new Xau();
Scanner nhap=new Scanner(System.in);
Trang 54System.out.print("Số lần xuất hiện: ");
System.out.println(Xau.DemSoLanXuathien(st2, st1));
}
}
Bài 20
Xây dựng lớp ToanHoc với phương thức tĩnh sau :
+phương thức tính biểu thức dưới dạng xâu ký tự, phương thức này trả về kết quả của phép toán chứa trong xâu đó
Public static double tinhToanXau(String st)
(Ví dụ khi gọi phương thức này mà ta truyền vào xâu ký tự "1+4" thì phương thức này trả về kết quả là 5, còn khi truyền vào phương thức này "2*5" thì phương thức này trả về kết quả là 10 nếu xâu không hợp lệ hàm sẽ trả về giá trị là INF)
//Class ToanHoc
package bai20;
public class ToanHoc {
public static double TinhToanXau(String st)
{
String so[]=new String [st.length()];
String pheptinh[]=new String [st.length()];
int k=0,h=0;
int vtNhan,vtCong,vtTru,vtChia,vt=-1;
vtNhan=st.indexOf("*");
if (vtNhan!=-1) vt=vtNhan;
Trang 55Biên soạn: Thanh Cảnh - 54 -
Trang 57Biên soạn: Thanh Cảnh - 56 -
//Hàm main chính:
package bai20;
public class Bai20 {
public static void main(String[] args) {
System.out.println("(1+2+3)*4="+ToanHoc.TinhToanXau("1+2+3*4"));
}
}