1. 程式人生 > >Java包的命名規則

Java包的命名規則

Java包的命名規則

  • util:對應英文utility(實用工具),一般存放工具類,就像java.lang.util包一樣存放著各種各樣的工具類方便你程式設計,這裡你可以放自己寫好的工具類為自己的程式提供方便。
  • business:一般存放業務類,處理程式業務的功能類就放在這裡。
  • control:一般存放控制類,後臺控制的一些類就放在這裡,例如J2EE裡的Servlet。
  • dao:對應英文Data Access Object,資料訪問物件,一般存放與資料庫(文字、Excel等)打交道的類,只關心資料庫的增刪改查。
  • vo:對應英文Value Object,值物件,一般存放實體(Model)。
  • driver:一般存放驅動類,一般顯示選單,呼叫dao等包中的方法來驅動程式。一般擁有在其中使用方法的主方法。

  • 部分程式碼示例

    ### vo包中
    ```
    package vo;

    public class Student
    {
    private String id;
    private String name;
    private String gender;
    private float java;
    private float english;
    private float math;
    private float totalScore;
    private float average;
    }
    ```

    ### driver包中:

    package driver;
    
    public class Driver 
    {
        //存放目前集合中的學生資訊
        public static List<Student> list=new ArrayList<Student>();
    
        public static void main(String args[])
        {
            int choice=menuChoice();
            while(choice!=7){
                switch(choice)
                {
                    case 1:importFromExcel();break;
                    case 2:importFromTxt();break;
                    case 3:inputFromKeyboard();break;
                    case 4:queryStudent();break;
                    case 5:exportToExecel();break;
                    case 6:exportToTxt();break;
                    default:System.out.println("無效的選擇");
    
                }
                choice=menuChoice();
            }
            System.out.println("程式成功退出");
            System.exit(0);
    
        }
    
        public static int menuChoice()
        {
            System.out.println("====學生成績管理系統=====");
            System.out.println("1.  從excel中載入資料");
            System.out.println("2.  從文字檔案載入資料");
            System.out.println("3.  鍵盤輸入");
            System.out.println("4.  成績查詢");
            System.out.println("5.  輸出到excel檔案");
            System.out.println("6.  輸出到純文字檔案");
            System.out.println("7.  退出");
            System.out.println("請輸入選項:");
            Scanner scan=new Scanner(System.in);
            int choice=scan.nextInt();
            return choice;
        }
        public static void importFromExcel()
        {
            /*
             * 呼叫dao中的方法
             */
            StudentDAO dao=new StudentDAO();
            String fileName="c:/data/student.xls";
            List<Student> list1=dao.ReadFromExcel(fileName);    //dao中的方法
            list.addAll(list1); //將list1集合中的資料增加到list集合中
            System.out.println("成功從excel中匯入"+list1.size()+"個學生");
        }
    }

    ### dao包中:

    package dao;
    
    public class StudentDAO 
    {
    
        // 實現讀學生檔案,將讀出的資訊存放於student集合中
        public List<Student> ReadFromExcel(String fileName) 
        {
    
            List<Student> list = new ArrayList<Student>();
            File file = new File(fileName);
            try 
            {
                InputStream in = new FileInputStream(file);
                Workbook wb = Workbook.getWorkbook(in);
                Sheet s = wb.getSheet(0);
                for(int i = 1; i < s.getRows(); i++)   //第一行不要
                {
                    Cell[] row = s.getRow(i);           
                    Student student = new Student(row[0].getContents(), row[1].getContents(),   //填充資料
                            row[2].getContents(), Float.parseFloat(row[3].getContents()),
                            Float.parseFloat(row[4].getContents()), Float.parseFloat(row[5].getContents()));
                    //由於讀取的資料全部都是String 型別所以要轉換成Float型別 
                    student.setTotalScore(student.getEnglish()+student.getJava()+student.getMath());
                    student.setAverage(student.getTotalScore()/3);
                    list.add(student);                      
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (BiffException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return list;
        }