java开学考试感想及代码
上周四我们的第一节java课,王老师给我们进行啦开学考试,这也是上学期放假之前给我们约定好的
但是情况显然没有我想的那么好,其实我觉得这个atm系统比上届学生信息管理系统难的多,上届的话
毕竟有小学期的学生信息管理系统的基础,而这个需要用到数据库还有各种文件操作。反正我拿到题之后
是一脸懵的。老师说程序开头变量的定义是送分的,也的确定义变量函数,写各个函数的get和set函数
确实的挺基础的,写完这个之后我反正是开始了漫长的自学懵逼过程。差不多一个小时吧都是在看书看资料
学习一些基本的东西。学到啦非常非常多的东西。
我觉得老师安排开学的这个 java考试有两个目的,一个是给我们一个下马威,让我们自己知道自己有
几斤几两了。还有就是让我们知道自学的重要性,要知道学习尤其是自学的重要性。包括给我们的暑假作业
也是如此,老师这样做可见还是非常好的,也肯定的费心啦。我c++学的不是很好,我这学期一定要好好学
习java。
另外我觉得我现在的编程存在以下问题:
1. 写的太少,王老师也说过一个一万小时定律,平时懒杂事多,玩的时间太多,导致编程的时间太少,以后
一定 要尽量保证每天的敲代码时间。多写才能知道问题在哪里,才能进一步解决。
2. 基础差,假期没有好好的学习java的基础知识导致现在对java的基础知识掌握不够好,要抽时间补上
3. 态度方面,大二不能再像大一一样贪玩啦,要以学习为主啦。
知道问题所在就要注意改正啦,既然选择啦软件工程 这个专业就要花更多的时间在学习上,这是无可厚非
的,加油吧!!
import java.io.*;//信1705-1 20173644 张子轩
public class ATM {
public static void main(String[] args) throws Exception {
Login l=new Login();
l.login();
}
}
class Account{
private String accountID;
private String accountname;
private String operatedate;
private void operatedate;
private String accountpassword;
private void accountbalance;
private void amount;
public void set_accountID;(String id){
accountID=id;
}
public String get_accountID(){
return accountID;
}
void set_accountname(String name){
accountname=name;
}
String get_accountname(){
return accountname;
}
void set_operatedate(String date){
operatedate=date;
}
String get_operatedate(){
return operatedate;
}
void set_operatetype(void type){
operatedate=type;
}
void get_operatetype(){
return operatetype;
}
void set_accountpassword(String word){
accountpassword=word;
}
String get_accountpassword(){
return accountpassword;
}
void set_accountbalance(void balance){
accountbalance=balance;
}
void get_accountbalance(){
return accountbalance;
}
void set_amount(void amo){
amount=amo;
}
void get_amount(){
return amount;
}
}
class AccountManager
{
void showface(){
System.out.println("*****************************");
System.out.println("欢迎使用中国工商银行自动柜员系统");
System.out.println("*****************************");
System.out.println("请输入您的账号:");
System.out.println(" ")
System.out.println("*****************************");
}
void mainface(){
System.out.println("*****************************");
System.out.println("欢迎使用中国工商银行自动柜员系统");
System.out.println("*****************************");
System.out.println("1.存款:");
System.out.println("2.取款 :");
System.out.println("3.转账汇款:")
System.out.println("4.修改密码:")
System.out.println("5.查询余额:")
System.out.println("*****************************");
}
void mimaface(){
System.out.println("*****************************");
System.out.println("欢迎使用中国工商银行自动柜员系统");
System.out.println("*****************************");
System.out.println("请输入您的密码:");
System.out.println(" ")
System.out.println("*****************************");
}
class Login{
User users=new User("001","123456");//用户名,密码
//登录
void login() throws MyException, IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Account.txt",true)));
for(int i=1;i<=3;i++){
System.out.println("请输入用户ID:");
String id=in.readLine();
System.out.println("请输入密码:");
String pass=in.readLine();
if((users.uername.equals(id))&&(users.passage.equals(pass))){
AccountManager am=new AccountManager();
while(true){
am.mainface();
}
//查询余额
public void account() throws Exception{
System.out.println(balance);
homepage();
}
//取款
public void draw() throws Exception{
int money=0;
if(sum1==5000){
System.out.println("\n"+"对不起,您今日取款已达到限制,请选择其他项目或去柜台取钱。");
TimerTask task = new TimerTask(){
public void run(){
sum1 = 0;
}
};
Timer timer = new Timer();
long delay = 1000*60*60*24;
long period = 1000*60*60*24;
timer.scheduleAtFixedRate(task, delay, period);
homepage();
}
System.out.println("该ATM机一次能取款的最大金额为2000元,2)用户的帐户一天取款累计的最大金额为20000.");
System.out.println("-----------------------------请选择取款金额-------------------------------");
System.out.println(" 1. 500 2. 1000 3. 2000 4. 其他金额");
System.out.println("请选取金额");
int dr=sc.nextInt();
switch(dr){
case 1:
money=500;
//balance-=money;
break;
case 2:
money=1000;
//balance-=money;
break;
case 3:
money=2000;
//balance-=money;
break;
case 4:
System.out.println("只能输入100的整数倍,并且要小于20000.");
System.out.println("请输入金额");
money=sc.nextInt();
if (money % 100 != 0 || money > 20000) {
System.out.println("您输入的金额不是100的整数倍或者大于20000,请选择:");
other(money);
}
break;
default:draw();
}
sum1=sum1+money;
if(money > balance) {
System.out.println("余额不足请重新输入");
draw();
} else if (sum1 > 20000) {
System.out.println("对不起,本次取钱后当天累计金额将超过20000,将跳转到取款界面,请重新取款:" + "\n");
draw();
} else {
balance-=money;
System.out.println("取款成功你的账户余额为" +balance);
// System.out.println(sum);
afterDraw();
}
}
// 一次取款大于2000的操作
public void other(int money) throws Exception {
int num;
System.out.println("1 重新输入取款金额;2 选择退出系统.");
Scanner scanner = new Scanner(System.in);
num = scanner.nextInt();
switch (num) {
case 1:
System.out.println("您选择重新输入金额,将返回取款界面...");
draw();
break;
case 2:
exit();
break;
default:
other(money);
}
}
//取款成功后
public void afterDraw() throws Exception{
int numb;
System.out.println("您选择:1 继续取款;2 返回主页3 退出");
Scanner scanner = new Scanner(System.in);
numb = scanner.nextInt();
switch (numb) {
case 1:
System.out.println("您选择继续取款,将返回取款界面...");
draw();
break;
case 2:
System.out.println("您选择返回主页面,即将返回...");
homepage();
case 3:
System.out.println("您选择退出,即将退出...");
exit();
break;
default:
afterDraw();
}
}
public void exit(){
System.out.println("--------------欢迎再次使用ATM系统,再见!------------");
System.exit(0);
}
class User{
String uername;
String passage;
User(String user,String pass){
this.uername=user;
this.passage=pass;
}
void set_uername(String use){
uername=use;
}
String get_uername(){
return uername;
}
void set_passage(String pass){
passage=pass;
}
String get_passage(){
return passage;
}
}
class MyException extends Exception{
public MyException(String e) {
super(e);
}
}
java开学考试感想及代码的更多相关文章
- java开学考试有感以及源码
一.感想 Java开学测试有感 九月二十号,王老师给我们上的第一节java课,测试. 说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还 ...
- Java开学测试感想
开学第一堂课就是测试,测试暑假的自学成果,老师说试卷适当提高了难度,所以允许查书和使用网络查询,经过近三个钟头的努力奋斗和痛苦挣扎,我只完成了一小部分的代码,只有简单的set()get()函数,以及简 ...
- java开学第一周测试代码
Account.java /* 信1705-3 20173612 陈阳阳 */package ATM; public class Account { private String accountID ...
- JAVA 开学测试
package StudentScore; public class ScoreInformation { String stunumber; //学号 String name; //姓名 doubl ...
- 第一次JAVA基础考试后的反思
今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...
- JAVA课程学习感想
JAVA课程学习感想 在学习JAVA之前,我们学习了C语言,汇编语言,数据结构等等.虽然学习了这些,但对于JAVA来说,学习起来不是那么容易,所有的计算机语言有相似的地方,但他们更有不同的地方.对我来 ...
- paip.java 注解的详细使用代码
paip.java 注解的详细使用代码 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...
- 在Java中直接调用js代码(转载)
http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Ja ...
- 在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert ...
随机推荐
- 曲演杂坛--重建索引后,还使用混合分区么?(Are mixed pages removed by an index rebuild?)
原文来自:http://www.sqlskills.com/blogs/paul/mixed-pages-removed-index-rebuild/ 在SQL SERVER 中,区是管理空间的基本单 ...
- LoadRunner 12下载和安装教程
我们利用LoadRunner可以对Web应用系统进行性能压力测试,本篇博客将和大家介绍下LoadRunner 12的下载和安装,在后续的博客中将和大家介绍其使用的方法. 1.LoadRunner 12 ...
- 使用ABP框架踩过的坑系列3
从架构角度来讲,ApplicationService究竟应该如何定位,一种说法是直接对应用例UseCase, 也就是直接对应UI, 这个UI是广义的,不仅仅是浏览器的页面,也包括API调用.还是从我曾 ...
- BitAdminCore框架应用篇:(一)使用Cookiecutter创建应用项目
框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookiecutter-bitadmin-core 一.简介 1.Coo ...
- Android Locale
Locale 是用来适配语言和地区的.在实际使用过程中,如果使用不当还是会出现错误. 首先,需要了解的是,Locale 分两种,一种是语言,一种是地区.语言比如英语,地区比如美国.区别显而易见,说英语 ...
- 枚举类型内部函数 enumerate
enumerate()说明enumerate()是python的内置函数enumerate在字典上是枚举.列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumera ...
- python中实现三目运算
python中没有其他语言中的三元表达式,不过有类似的实现方法 如: a = 1 b =2 k = 3 if a>b else 4 上面的代码就是python中实现三目运算的一个小demo, 如 ...
- Django 项目 实现重定向并进行反向解析
一.项目路由配置urls.py中 from django.conf.urls import include, url from django.contrib import admin # 匹配应用 u ...
- sql盲注之报错注入(附自动化脚本)
作者:__LSA__ 0x00 概述 渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲 ...
- 2 new出的对象 prototype与__proto__
对象没有原型对象,函数才有 new出的对象,this的会重新创建,二prototype并不会重新创建,而是追溯原型链的方式进行继承 var Book=function(id,bookname,pric ...