Ví Dụ Giải Phương Trình Bậc 2 – Java UI | Advanced Programming
Có thể bạn quan tâm
Trong ví dụ này Tôi sẽ cung cấp 2 class.
Class 1 tên là PTB2UI dùng để thiết kế giao diện
class 2 tên là PTB2Engine dùng để giải phương trình bậc 2, có 3 thông số được truyền vào là a,b,c lấy từ giao diện
Ví dụ này có kiểm tra tính hợp lệ của dữ liệu nhập vào, các bạn xem các dòng lệnh try…catch
Tôi không có giải thích nhiều về code nữa, vì đã giải thích trong các bài giảng rồi, hi vọng các em cố gắng đọc hiểu. Có rất nhiều cách làm!
===========================================================================
class PTB2UI
===========================================================================
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class PTB2UI extends JFrame { private static final long serialVersionUID = 1L; public PTB2UI(String title) { setTitle(title); } public void doShow() { setSize(400, 300); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); addControl(); setResizable(false); setVisible(true); } public void addControl() { JPanel pnBorder=new JPanel(); pnBorder.setLayout(new BorderLayout()); JPanel pnNorth=new JPanel(); JLabel lblTitle=new JLabel(“Giải phương trình bậc 2”); pnNorth.add(lblTitle); pnBorder.add(pnNorth,BorderLayout.NORTH); lblTitle.setForeground(Color.BLUE); Font ft=new Font(“arial”, Font.BOLD, 25); lblTitle.setFont(ft); JPanel pnSouth=new JPanel(); JButton btnGiai=new JButton(“Giải”); JButton btnXoa=new JButton(“Xóa”); JButton btnThoat=new JButton(“Thoát”); pnSouth.add(btnGiai); pnSouth.add(btnXoa); pnSouth.add(btnThoat); pnBorder.add(pnSouth,BorderLayout.SOUTH); pnSouth.setBackground(Color.LIGHT_GRAY); Border southborder =BorderFactory.createLineBorder(Color.RED); TitledBorder southTitleBorder= new TitledBorder(southborder, “Chọn tác vụ”); pnSouth.setBorder(southTitleBorder); JPanel pnCenter=new JPanel(); pnCenter.setLayout(new BoxLayout(pnCenter, BoxLayout.Y_AXIS)); pnBorder.add(pnCenter,BorderLayout.CENTER); Border centerborder =BorderFactory.createLineBorder(Color.RED); TitledBorder centerTitleBorder= new TitledBorder(centerborder, “nhập a – b- c:”); pnCenter.setBorder(centerTitleBorder); JPanel pna=new JPanel(); JLabel lbla=new JLabel(“nhập a:”); final JTextField txta=new JTextField(15); pna.add(lbla); pna.add(txta); pnCenter.add(pna); JPanel pnb=new JPanel(); JLabel lblb=new JLabel(“nhập b:”); final JTextField txtb=new JTextField(15); pnb.add(lblb); pnb.add(txtb); pnCenter.add(pnb); JPanel pnc=new JPanel(); JLabel lblc=new JLabel(“nhập c:”); final JTextField txtc=new JTextField(15); pnc.add(lblc); pnc.add(txtc); pnCenter.add(pnc); JPanel pnkq=new JPanel(); JLabel lblkq=new JLabel(“kết quả nè:”); final JTextField txtkq=new JTextField(15); pnkq.add(lblkq); pnkq.add(txtkq); pnCenter.add(pnkq); lbla.setPreferredSize(lblkq.getPreferredSize()); lblb.setPreferredSize(lblkq.getPreferredSize()); lblc.setPreferredSize(lblkq.getPreferredSize()); btnThoat.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { int ret=JOptionPane.showConfirmDialog(null, “Muốn thoát hả?”, “Thoát”, JOptionPane.YES_NO_OPTION); if(ret==JOptionPane.YES_OPTION) System.exit(0); } }); btnXoa.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { txtb.setText(“”); txtc.setText(“”); txtkq.setText(“”); txta.requestFocus(); } }); btnGiai.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { String sa=txta.getText(); int a=0,b=0,c=0; try { a=Integer.parseInt(sa); } catch(Exception ex) { JOptionPane.showMessageDialog(null, “Nhập sai định dạng!”); txta.selectAll(); txta.requestFocus(); return; } String sb=txtb.getText(); try { b=Integer.parseInt(sb); } catch(Exception ex) { JOptionPane.showMessageDialog(null, “Nhập sai định dạng!”); txtb.selectAll(); txtb.requestFocus(); return; } String sc=txtc.getText(); try { c=Integer.parseInt(sc); } catch(Exception ex) { JOptionPane.showMessageDialog(null, “Nhập sai định dạng!”); txtc.selectAll(); txtc.requestFocus(); return; } String kq=””; PTB2Engine engine=new PTB2Engine(a, b, c); kq=engine.compute(); txtkq.setText(kq); } }); Container con=getContentPane(); con.add(pnBorder); } public static void main(String[] args) { PTB2UI ui=new PTB2UI(“ptb2”); ui.doShow(); } }
|
===========================================================================
class PTB2Engine
===========================================================================
public classPTB2Engine {private inta;private intb;private int c; public PTB2Engine(int a,int b,int c) { this.a=a; this.b=b; this.c=c; } public String compute() { String kq=””; if(this.a==0) { if(this.b==0) { if(this.c==0) { kq=”Vô số nghiệm”; } else { kq=”Vô nghiệm”; } } else { kq=”Pt co 1 no x1=”+(-this.c/this.b); } } else { double delta=this.b*this.b-4*this.a*this.c; if(delta<0) kq=”Vô nghiệm”; else if(delta==0) kq=”No kép x1=x2=”+(-this.b/(2*this.a)); else { kq=”x1 = “+((-this.b-Math.sqrt(delta))/(2*this.a)); kq+=” x2 = “+((-this.b+Math.sqrt(delta))/(2*this.a)); } } return kq; } }
|
Chia sẻ lên:
- Tweet
Related
Từ khóa » Viết Phương Trình Bậc 2 Bằng Java
-
Giải Phương Trình Bậc 2 Trong Java - Bài Tập Java Có Lời Giải - Viettuts
-
Giải Phương Trình Bậc 2 Sử Dụng Java Code - Deft Blog
-
Giải Phương Trình Bậc Hai Trong Java - Freetuts
-
Java Basic- Giải Phương Trình Bậc 2 Trong Java - GokiSoft
-
Giải Phương Trình Bậc 2 Trong Java - Code Mẫu Chi Tiết
-
Viết Chương Trình Giải Phương Trình Bậc 2 - Tìm ở đây
-
Hướng Dẫn Giải Phương Trình Bậc 2 Trong Java - Blog Lợi
-
Giải Phương Trình Bậc 2 Java Code, Giải Phương ...
-
Thực Hành Java: Bài Tập 4. Viết Chương Trình Giải Phương Trình Bậc 2
-
Java Cơ Bản - Giải Phương Trình Bậc 2 Trong Java - YouTube
-
Giải Phương Trình Bậc 2 Trong Java Swing
-
Tổng Hợp Giải Phương Trình Bậc 2 Bằng Java | Bán Máy Nước Nóng
-
Giải Phương Trình Bậc 2 Trong JAVA.