BÀI THỰC HÀNH NGÔN NGỮ LẬP TRÌNH JAVA
THỰC HÀNH LẬP TRÌNH JAVA BÀI THỰC HÀNH NGÔN NGỮ LẬP TRÌNH JAVA CHƯƠNG I: CÁC KIẾN THỨC CƠ BẢN-CẤU TRÚC CHƯƠNG TRÌNH JAVA A. Cấu trúc lựa chọn: 1. Giải phương trình bậc nhất ax+b=0: package baocao; import java.util.Scanner; public class Bai1 { private float a; private float b; private Scanner input; public void nhap() { input = new Scanner(System.in); System.out.println("Nhap cac he so:"); System.out.print("a = "); a = input.nextFloat(); System.out.print("b = "); b = input.nextFloat(); } public void giai() { if (a == 0) { if (b == 0 ) System.out.println("PT co vo so nghiem"); else System.out.println("PT vo nghiem"); } else System.out.println("PT co 1 nghiem: x = " + (-b/a)); } public static void main(String arg[]) { Bai1 dt = new Bai1(); dt.nhap(); dt.giai(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 1 THỰC HÀNH LẬP TRÌNH JAVA 2. Phương trình bậc 2 ax 2 +bx+c=0: package baocao; import java.util.Scanner; public class Bai2 { float a,b,c; public void nhap() { Scanner input = new Scanner(System.in); System.out.println("Nhap cac he so"); System.out.print("a = "); a = input.nextFloat(); System.out.print("b = "); b = input.nextFloat(); System.out.print("c = "); c = input.nextFloat(); } public void giai() { if (a == 0) if (b == 0) if (c == 0) System.out.println("PT co vo so nghiem"); else System.out.println("PT vo nghiem"); else { if (b == 0) { if (c == 0 ) System.out.println("PT co vo so nghiem"); else System.out.println("PT vo nghiem"); } else System.out.println("PT co 1 nghiem: x = " + (-c/b)); } else { float delta = b*b - 4*a*c; if (delta < 0) System.out.println("PT vo nghiem"); else if (delta == 0) System.out.println("PT co 1 nghiem kep: x = " + (-b/(2*a))); else { System.out.println("PT co 2 nghiem phan biet"); System.out.println("x1 = " + ((-b-Math.sqrt(delta))/(2*a))); System.out.println("x2 = " + ((-b+Math.sqrt(delta))/(2*a))); } } } public static void main(String areg[]) { Bai2 dt = new Bai2(); dt.nhap(); dt.giai(); } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 2 THỰC HÀNH LẬP TRÌNH JAVA } 3. Tìm số trung gian của 3 số a,b,c: package baocao; import java.util.Scanner; public class Bai3 { float a,b,c; public void nhap() { Scanner input=new Scanner(System.in); System.out.println("Nhap a b c:"); System.out.print("a= "); a=input.nextFloat(); System.out.print("b= "); b=input.nextFloat(); System.out.print("c= "); c=input.nextFloat(); } public void tg(){ float tg; if(((a<=b)&&(b<=c))||((c<=b)&&(b<=a))) tg=b; else if(((b<=a)&&(a<=c))||((c<=a)&&(a<=b))) tg=a; else tg=c; System.out.println(" So trung gian la "+tg); } public static void main (String[] args) { Bai3 stg=new Bai3(); stg.nhap(); stg.tg(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 3 THỰC HÀNH LẬP TRÌNH JAVA 4. Viết chương trình tính tiền cho bài toán karaoke: package baocao; import java.util.*; public class Bai4 { int a,b; public Bai4() { a=0;b=0; } public void nhap() { Scanner input =new Scanner(System.in); System.out.println("Nhap gio bat dau "); a = input.nextInt(); System.out.println("Nhap gio ket thuc "); b = input.nextInt(); } public int tinhtien() { int sotien=0; if(a> 0 && b<=18) sotien = (b-a)*45000; if(a>0 && b>18) sotien = (18-a)*45000 + (b-18)*60000; if(a>18) sotien = (b-a)*60000; return sotien; } public static void main(String[] str) { Bai4 k =new Bai4(); k.nhap(); System.out.println("So tien can fai tra la : "+k.tinhtien()); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 4 THỰC HÀNH LẬP TRÌNH JAVA 5. Nhập vào tháng năm bất kì in ra số ngày ứng với tháng năm đó: package baocao; import java.util.Scanner; public class Bai5 { int nam,thang; public Bai5() { } public boolean namnhuan(int nam) { if((nam%4==0 && nam%100!=0)||(nam%400==0)) return true; else return false; } public void nhap() { Scanner input= new Scanner (System.in); System.out.println("Nhap nam thang "); System.out.print("Nam "); nam=input.nextInt(); System.out.print("Thang "); thang=input.nextInt(); } public void inra() { switch(thang) { case 4: case 6: case 9: case 11: System.out.println("Thang "+thang+" nam "+nam+" co 30 ngay");break; case 2 : if(namnhuan(nam)) {System.out.println("Thang "+thang+" nam"+nam+" co 29 ngay"); break; } else {System.out.println("Thang "+thang+" nam "+nam+" co 28 ngay"); break;} default: System.out.println("Thang "+thang+" nam "+nam+" co 31 ngay");break; } } public static void main (String[] args) { Bai5 temp= new Bai5(); temp.nhap(); TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 5 THỰC HÀNH LẬP TRÌNH JAVA temp.inra(); } } B. Cấu trúc lặp 1. Viết chương trình tính: 1+1/2+1/3+ +1/n package baocao; import java.util.Scanner; public class Bai6 { int n; public void nhapn() { Scanner input=new Scanner(System.in); System.out.println("Nhap n"); n=input.nextInt(); } public void tinh() { float s=0; for(int i=1;i<=n;i++) s+=(float) 1/i; System.out.println("S= "+s); } public static void main (String[] args) { Bai6 b6=new Bai6(); b6.nhapn(); b6.tinh() ; } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 6 THỰC HÀNH LẬP TRÌNH JAVA 2. Viết chương trình tính : S=15-1+1/2-1/3!+ +(-1) n 1/n! package baocao; import java.util.Scanner; public class Bai7 { int n; public void nhap() { Scanner input =new Scanner(System.in); System.out.print("Nhap n = "); n = input.nextInt(); } public int giaithua(int m) { if(m==0) return 1; else return m*giaithua(m-1); } public void tinh() { float s=15.0f; for(int i=1;i<=n;i++) { float p = 1.0f/giaithua(i); p*=Math.pow(-1,i); s+=p; } System.out.print("S = " + s); } public static void main(String[] str) { Bai7 b = new Bai7(); b.nhap(); b.tinh(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 7 THỰC HÀNH LẬP TRÌNH JAVA 3. Viết chương trình tính : S=1+1/3!+1/5!+… +1/(2n-1)! package baocao; import java.util.Scanner; public class Bai8 { int n; public void nhap() { Scanner input =new Scanner(System.in); System.out.println("Nhap n : "); n = input.nextInt(); } public int giaithua(int m) { if(m==0) return 1; else return m*giaithua(m-1); } public void tinh() { float s=0.0f; for(int i=1;i<2*n;i+=2) s+=1.0f/giaithua(i); System.out.print("S = " + s); } public static void main(String[] str) { Bai8 b = new Bai8(); b.nhap(); b.tinh(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 8 THỰC HÀNH LẬP TRÌNH JAVA 4. Tính n!! = 1*3*5*… *n(n lẽ) = 2*4*6*….*n(n chẵn) package baocao; import java.util.Scanner; public class Bai9 { int n; public void nhap() { Scanner input=new Scanner(System.in); System.out.print("Nhap n= "); n=input.nextInt(); } public void tinh() { float gt=1; //int i; for(int i=n;i>=1;i-=2) gt*=i; //for(i=((n%2)==0)?2:1;i<=n;i+=2) gt*=i; System.out.println(n+"!!= "+gt); } public static void main(String[] args) { // TODO Auto-generated method stub Bai9 dt=new Bai9(); dt.nhap(); dt.tinh(); } } 5. Tính tổng và tích các chữ số của một số nguyên dương m cho trước: package baocao; import java.util.Scanner; public class Bai10 { int m; public void nhap() { Scanner input=new Scanner(System.in); System.out.print("Nhap so nguyen duong m= "); m=input.nextInt(); } public void tinhtong() TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 9 THỰC HÀNH LẬP TRÌNH JAVA { int s=0,p=1,tam=m; while(tam!=0) { s+=tam%10; p*=tam%10; tam=tam/10; } System.out.println("Tong cac chu so cua "+m+" la "+s); System.out.println("Tich cac chu so cua "+m+" la "+p); } public static void main(String[] args) { // TODO Auto-generated method stub Bai10 dt=new Bai10(); dt.nhap(); dt.tinhtong(); } } 6. Nhập một số và kiểm tra có phải nguyên tố không? package baocao; import java.util.Scanner; public class Bai11 { static int n; public int get() { return n; } public void nhap() { Scanner input = new Scanner(System.in); System.out.print("Nhap so : "); n = input.nextInt(); } public boolean check() { int i=2; if (n == 0 || n == 1) return false; while (i <= n/2) { if (n%i == 0) return false ; i ++; } return true; } public static void main(String args[]) { Bai11 a = new Bai11(); TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 10 [...]... main(String[] args) { // TODO Auto-generated method stub Bai18 dt=new Bai18(); dt.nhap(); dt.ucbc(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 16 THỰC HÀNH LẬP TRÌNH JAVA CHƯƠNG II: LẬP TRÌNH AWT-SWING 1 Giải phương trình bậc nhất: package baocao; import java. awt.*; import java. awt.event.*; public class Bai19 extends Frame implements ActionListener { Label lb1,lb2,lb3,lb; TextField txta,txtb,txtkq; Button kq,reset,thoat;... static void main(String[] args) { // TODO Auto-generated method stub new Bai22("Kiem tra fibo"); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 25 THỰC HÀNH LẬP TRÌNH JAVA 5 Mô tả máy tính điện tử cá nhân package baocao; import java. awt.*; import java. awt.event.*; import javax.swing.*; public class Bai23 extends JFrame implements ActionListener{ GridBagLayout gb=new GridBagLayout(); GridBagConstraints gbc=new... super(st); GUI(); } public static void main (String[] args) { new Bai20("Minh hoa cac phep toan"); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 20 THỰC HÀNH LẬP TRÌNH JAVA 3 In ra các số nguyên tố nhỏ hơn hoặc bằng số n cho trước: package baocao; import java. awt.*; import java. awt.event.*; public class Bai21 extends Frame implements ActionListener { //String chuoi1=new String(); //String chuoi2=new String("... st){ super(st); GUI1(); } public static void main (String[] args) { new Bai21("Tim so nguyen to"); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 22 THỰC HÀNH LẬP TRÌNH JAVA 4 Kiểm tra một số có thuộc dãy Fibonaci hay không? package baocao; import java. awt.*; import java. awt.event.*; public class Bai22 extends Frame implements ActionListener{ Label lb,lb1,lb2; TextField txtnhap,txtkq; Button ok,reset,exit;... Bai19(String st) { super(st); GUI(); } public static void main (String[] args) { new Bai19("Giai pt bac 1"); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 18 THỰC HÀNH LẬP TRÌNH JAVA 2 Minh họa các phép toán: package baocao; import java. awt.*; import java. awt.event.*; public class Bai20 extends Frame implements ActionListener { Label lb,lb1,lb2,lb3; TextField txta,txtb,txtkq; Button cong,tru,nhan,chia,exit,reset;... @SuppressWarnings("serial") class DivideByZeroException extends Exception{ public DivideByZeroException() { TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 33 THỰC HÀNH LẬP TRÌNH JAVA super(); } public DivideByZeroException(String s) { super(s); } } 6 Đổi màu nền: package baocao; import java. awt.*; import java. awt.event.*; public class Bai24 extends Frame implements ActionListener { Button gre,blu,red,exit; public Bai24(String st)... this.setBackground(Color.BLUE); TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 34 THỰC HÀNH LẬP TRÌNH JAVA if(e.getSource()==red) this.setBackground(Color.RED); } public static void main(String arg[]) { Bai24 tam =new Bai24("Doi Mau"); tam.setSize(300,200); tam.setVisible(true); } } 7 Minh họa kiểu sự kiện ItemEvent package baocao; import java. awt.*; import java. awt.event.*; public class Bai25 extends Frame implements... các số nguyên tố nhỏ hơn hoặc bằng số nguyên dương n cho trước: package baocao; import java. util.Scanner; public class Bai14 { int n; private Scanner input; public void nhap(){ input=new Scanner(System.in); System.out.print("Nhap n="); n=input.nextInt(); } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 12 THỰC HÀNH LẬP TRÌNH JAVA public boolean nto(int n) { if(n==0||n==1) return false; else for(int i=2;i . THỰC HÀNH LẬP TRÌNH JAVA BÀI THỰC HÀNH NGÔN NGỮ LẬP TRÌNH JAVA CHƯƠNG I: CÁC KIẾN THỨC CƠ BẢN-CẤU TRÚC CHƯƠNG TRÌNH JAVA A. Cấu trúc lựa chọn: 1. Giải phương trình bậc nhất ax+b=0: package. DUY_LỚP 09T4_NHÓM 11A Trang 16 THỰC HÀNH LẬP TRÌNH JAVA CHƯƠNG II: LẬP TRÌNH AWT-SWING 1. Giải phương trình bậc nhất: package baocao; import java. awt.*; import java. awt.event.*; public class. Bai3(); stg.nhap(); stg.tg(); } } TRẦN THANH DUY_LỚP 09T4_NHÓM 11A Trang 3 THỰC HÀNH LẬP TRÌNH JAVA 4. Viết chương trình tính tiền cho bài toán karaoke: package baocao; import java. util.*; public class Bai4 { int a,b; public