JAVA项目开发实践 一、建立考试中心原型

一、为实际考试系统中的考生,考试,试题,选项,答卷,答题建立相应的软件对象

 

考试Test,试题Question,选项ChoiceItem,答卷TestResult,答题QuestionResult,考生Customer


二、新建项目和包

1、在myEclipse的 package Explorer视图中右键选择new--Java Project,写项目名称,默认完成


2、类的关系:关联association,聚集aggregation,组合composition,依赖dependency,继承inheritance


3、为对象创建包:选择项目下的src路径,右键new--Package,在Name中填入包名XXX.XXX.XXX.XXX(这是为了设置具体路径),完成


4、for each循环:for example:

             int[] a=new int[10]; 
             for(int b:a){ 
             System.out.println(b); 

可以用来处理数组中的每一个元素


方法前的圆形(或者+号)代表public,方形(或者-号)代表private



5、类中的数据域都尽量采用私有属性private,防止篡改,利于维护;采用private后,在定义私有数据域的类之外,对象不能通过直接引用访问该数据域,为了存取和修改,使用get方法返回数据域的值,set方法设置新值

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }


三、实现通用对话框

6、两个java.io.*中的类:

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。

每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。实际效果和直接使用InputStreamReader是一样的


BufferedReader的readLine方法:

readLine

public String readLine()
                throws IOException
读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 
抛出:IOException - 如果发生 I/O 错误


四、考试中心


7、处理日期时间

 

 

Dateformat      类

static DateFormatgetDateTimeInstance(int dateStyle, int timeStyle)
获取日期/时间格式器,该格式器具有默认语言环境的给定日期和时间格式化风格

static DateFormatgetDateTimeInstance(int dateStyle, int timeStyle,Locale aLocale)
获取日期/时间格式器,该格式器具有给定语言环境的给定格式化风格。

8、实现welcome方法

非该类的static方法,需要import static静态导入


System.getProperty("os.name")读取操作系统名称

9、输入输出

              /*** 输出字符串 ***/

              // %S将字符串以大写形式输出

              System.out.printf("%S = %s%n", "Name", "Zhangsan");

              // 支持多个参数时,可以在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串

              System.out.printf("%1$s = %3$s %2$s%n", "Name", "san", "Zhang");

 

              /*** 输出日期类型***/

              // %t表示格式化日期时间类型,%T是时间日期的大写形式,在%t之后用特定的字母表示不同的输出格式

              Date date = new Date();

              long dataL = date.getTime();

              // 格式化年月日

              // %t之后用y表示输出日期的年份(2位数的年,如99)

              // %t之后用m表示输出日期的月份,%t之后用d表示输出日期的日号

              System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, dataL);

              // %t之后用Y表示输出日期的年份(4位数的年),

              // %t之后用B表示输出日期的月份的完整名, %t之后用b表示输出日期的月份的简称

              System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, dataL);

              // 以下是常见的日期组合

              // %t之后用D表示以 "%tm/%td/%ty"格式化日期

              System.out.printf("%1$tD%n", date);

              //%t之后用F表示以"%tY-%tm-%td"格式化日期

              System.out.printf("%1$tF%n", date);

              /*** 输出时间类型***/

              // 输出时分秒

              // %t之后用H表示输出时间的时(24进制),%t之后用I表示输出时间的时(12进制),

              // %t之后用M表示输出时间的分,%t之后用S表示输出时间的秒

              System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL);

              // %t之后用L表示输出时间的秒中的毫秒

              System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);

              // %t之后p表示输出时间的上午或下午信息

              System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);

              // 以下是常见的时间组合

              // %t之后用R表示以"%tH:%tM"格式化时间

              System.out.printf("%1$tR%n", date);

              // %t之后用T表示以"%tH:%tM:%tS"格式化时间

              System.out.printf("%1$tT%n", date);

              // %t之后用r表示以"%tI:%tM:%tS %Tp"格式化时间

              System.out.printf("%1$tr%n", date);

                  /*** 输出星期***/

              // %t之后用A表示得到星期几的全称

              System.out.printf("%1$tF %1$tA%n", date);

              // %t之后用a表示得到星期几的简称

              System.out.printf("%1$tF %1$ta%n", date);

              // 输出时间日期的完整信息

              System.out.printf("%1$tc%n", date);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值