1. 程式人生 > >java測試感受

java測試感受

pub 招聘會 感到 next 卡號 簡單的 pass 時也 try

這個星期四下午來了一次Java考試,用來測試在暑假自學Java的學習情況,不得不說這次考試十分的成功,把我對這學期的學習信心打擊的很難受,我也知道這是我應得的教訓,我也對我的專業水平有了很深刻的了解了,自己會什麽,不會什麽,在我心裏都有了明確的了解,更說明了我在暑假期間所學到的那些東西,根本不足以我讓我個人完成一個完整的項目,在這次考試中,我也只寫了最簡單的前面的部分,剩下的難點我都不會,對於這次考試,我個人感受到的只有絕望,可能也有完全會做的人,對於他來說可能寫代碼是一件令人能感到愉悅的事,對我來說似乎有一點難受,通過這次考試,讓我知道了自己在什麽水平上,以現在的水平能否在將來在IT行業中占有一席之地,在我的心裏也都有了十分明確答案’,那種無力感和焦急感能讓我記住很長時間,對我來說印象深刻,可能現在還沒吃到因為專業水平不夠的虧,但是照這樣下去也就是早晚的事,對於我來說這個試卷有點難了,我承認我這次完成這個完整的代碼其中是有抄襲的,不過同時也並不是抄完就完事了,我也會學習裏邊的結構、用法什麽,但是文件的那裏有點難理解,不是很明白,我個人覺的抄沒什麽,如果能在過程中能把他變成自己的東西就是值得的,也是一種學習的方式,肯定不適合長期這麽做,如果能在以後的學習生活中不在出現這種情況,那麽就是很大的進步。我也希望自己能夠在專業水平上有所提高,如果可以自己獨立完成,誰願意用這種方式完成作業,所以我也買了幾本書用來再去學習java的相關知識,用來提高自己的水平,讓自己的有更好的水平是每個人都希望的,誰都不願意在大學中白白浪費了這幾年的時間,浪費提高自己水平的大好時光,也想完成自己在入學之前對自己的期許,不辜負任何人,這誰都想做到。

在考試結束的時候,給我測試的是一個大四的老學長,我和他聊了幾句,他說他沒有去那天的招聘會,他說那裏給的工資太低了,他就隨意的帶過去了,但我在上課的時候,看見了不少去招聘的學生,每個人都穿上西裝,看起來很有氣勢的樣子,但是我一聯想到他說的薪酬不高,大四的學長又說他不去,在感嘆時光流逝之快的同時,我也感覺在大學接近四年的學習生活中,即使是同班同學甚至是同宿舍的那幾個人之中,都會在專業水準上分出個三六九等,水平高的自然眼界也就高了,工資給的低根本不用去浪費時間,而水平不夠的只能在這些給的工資水平低的公司中選擇,我似乎感覺到了他們的無奈,但是卻無可奈何,後悔估計也沒用了,估計如果我在以後的學習生活中再渾渾噩噩的過下去,沒準也和現在去招聘的學生一樣,雖然說三百六十五行,行行出狀元,可我已經進入了這個行列,估計以後都不會再改了,所以這只能逼著自己去學習。

Account.java

/*

信1705-3 2017541 伊帥

*/
package ATM;

public class Account {
private String accountID;//賬號

private String accountname;//名稱

private String operatedate;//日期

private int operatetype;//類型

private String accountpassword;//密碼

private int accountbalance;//余額

private int amount;//操作流水的金額
public Account(String accountID, String accountname, String operatedate, int operatetype,

String accountpassword,int accountbalance,int amount) {

this.accountID = accountID;

this.accountname = accountname;

this.operatedate = operatedate;

this.operatetype = operatetype;

this.accountpassword = accountpassword;

this.accountbalance = accountbalance;

this.amount = amount;}

public String getAccountID() {
return accountID;
}
public void setAccountID(String accountID) {
this.accountID = accountID;
}

public String getAccountName() {
return accountname;
}
public void setAccountName (String accountName) {
this.accountname = accountName;
}

public String getOperatedate() {
return operatedate;
}
public void setOperatedate(String Operatedate) {
this.operatedate = Operatedate;
}

public int getOperatetype() {
return operatetype;
}
public void setOperatetype(int Operatetype) {
this.operatetype = Operatetype;
}

public String getAccountpassword() {
return accountpassword;
}
public void setAccountpassword(String accountpassword) {
this.accountpassword = accountpassword;
}

public int getAccountbalance() {
return accountbalance;
}
public void setAccountbalance(int accountbalance) {
this.accountbalance = accountbalance;
}

public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}

AccountManager.java

package ATMOP;
import java.util.*;
public class AccountManager {
@SuppressWarnings({ "resource", "unused" })//(“unused”)未使用的變量 (“resource”)有泛型未指定類型
public static void main(String[] args) throws NumberErrorException {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
PATM atm=new ATM();
NumberErrorException nee=new NumberErrorException("輸入非法!");
NotHundredTimesException nhte=new NotHundredTimesException("不是一百的整數倍!");
PasswordErrorException pee=new PasswordErrorException("輸入錯誤的密碼超過三次!");
int passwordErrorTimes=0;
int choose=-1,number=0,x=0;
String num="";
String pw="";
next:while(true){
System.out.println("******************************");
System.out.println(" 歡迎使用中國工商銀行自助櫃員系統 ");
System.out.println("******************************");
System.out.println("請輸入您的賬號:");
int kk=-1;
String c=in.next();
if(whetherNum(c))
kk=Integer.parseInt(c);
if(kk==0) break;
else if(kk!=1){
System.out.println("輸入錯誤!");
continue;
}
System.out.println("************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("************************************************");
System.out.println("請輸入您的密碼:");
pw=in.next();
if(atm.ifPass(pw)){
while(true){
showFace();
String cc=in.next();
if(whetherNum(cc))
choose=Integer.parseInt(cc);
switch(choose){
case 1:
System.out.println("******************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("*******************************************");
System.out.println("輸入存款金額:");
while(true){
try{
num=in.next();
if(!whetherNum(num))
throw nee;
else if((x=Integer.parseInt(num)%100)!=0)
throw nhte;
else
break;
}
catch(NumberErrorException e){
System.out.println("輸入正確的數字!");
}
catch(NotHundredTimesException e){
System.out.println("錄入錯誤,請輸入合法的整數(100的整數倍)!");
}
}
number=Integer.parseInt(num);
atm.save(number);
System.out.println("****************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("****************************************************");
System.out.println("當前賬戶存款操作成功。");
System.out.println("當前賬戶余額為:"+atm.getRest()+"元");
break;
case 2:
System.out.println("*****************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("*****************************************************");
System.out.println("當前用戶每日可以支取2萬元。");
System.out.println("請選擇:");
int a[]={100,500,1000,1500,2000,5000};
for(int i=0;i<a.length;i++)
System.out.println((i+1)+"."+a[i]+"元");
System.out.println("7.其他金額");
String bb="";
int ch=-1;
bb=in.next();
if(whetherNum(bb)){
ch=Integer.parseInt(bb);
}
if(ch>=1&&ch<=6){
if(atm.withdraw(a[ch-1]))
{
System.out.println("*************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("*************************************************");
System.out.println("當前賬戶取款操作成功! ");
}
else
System.out.println("賬戶余額不足!");
}
else if(ch==7){
System.out.println("*****************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("***************************************************");
System.out.println("請輸入取款金額:");
while(true){
try{
num=in.next();
if(!whetherNum(num))
throw nee;
else if((x=Integer.parseInt(num)%100)!=0)
throw nhte;
else
break;
}
catch(NumberErrorException e){
System.out.println("輸入正確的數字!");
}
catch(NotHundredTimesException e){
System.out.println("錄入錯誤,請輸入合法的整數(100的整數倍)!");
}
}
number=Integer.parseInt(num);
if(atm.withdraw(number))
System.out.println("取款成功!");
else
System.out.println("余額不足!");
}
else
System.out.println("輸入有誤!");
System.out.println("當前余額:"+atm.getRest()+"元");
break;
case 3:
System.out.println("******************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("*******************************************************");
System.out.println("請輸入轉賬賬戶:");
String s=in.next();
System.out.println("***************************************************");
System.out.println(" 歡迎***使用中國工商銀行自助櫃員系統 ");
System.out.println("***************************************************");
System.out.println("請輸入轉賬金額:");
while(true){
try{
num=in.next();
if(!whetherNum(num))
throw nee;
else if((x=Integer.parseInt(num)%100)!=0)
throw nhte;
else
break;
}
catch(NumberErrorException e){
System.out.println("輸入正確的數字!");
}
catch(NotHundredTimesException e){
System.out.println("錄入錯誤,請輸入合法的整數(100的整數倍)!");
}
}
number=Integer.parseInt(num);
if(atm.transfer(s, number))
System.out.println("轉賬成功!");
else
System.out.println("轉賬失敗!");
System.out.println("當前余額:"+atm.getRest()+"元");
break;
case 4:
System.out.println("輸入當前密碼:");
String M=in.next();
System.out.println("輸入修改密碼:");
String p=in.next();
if(p.length()==6&&whetherNum(p))
atm.setPassword(p);
else{
System.out.println("不是六位或者不是數字!");
}
break;
case 5:
System.out.println("當前余額:"+atm.getRest()+"元");
break;
default:
continue next;
}
}
}
else{
System.out.println("密碼錯誤!");
try{
passwordErrorTimes++;
if(passwordErrorTimes>3)
throw pee;
}
catch(PasswordErrorException e){
System.out.println(e.getMessage()+"賬戶暫時凍結!");
return ;
}
}

}
}
//顯示菜單
public static void showFace(){
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(" 6.退卡:");
System.out.println("*************************************************");
System.out.println("請選擇:");
}
//判斷字符串是否為整數(0-999999)
public static boolean whetherNum(String s){
boolean flag=true;
if(s.length()>=7)
return false;
char arr[]=s.toCharArray();
for(int i=0;i<s.length();i++){
if(arr[i]<‘0‘||arr[i]>‘9‘)
flag=false;
}
return flag;
}
}

class PersonalAccount{
private String passWord="123456";//密碼
@SuppressWarnings("unused")
private String number;//銀行卡號
private int money=0;
public int getMoney(){return money;}//余額
public void setPw(String s){passWord=s;}//設置密碼
public void addMoney(int x){money+=x;}//加錢
public void minusMoney(int x){money-=x;}//減錢
public boolean whetherPwTrue(String s){//密碼是否正確
if(s.equals(passWord))
return true;
else return false;
}
}
//abstract修飾類,會使這個類成為一個抽象類
abstract class PATM{
public abstract boolean withdraw(int x);//取款
public abstract void save(int x);//存款
public abstract boolean transfer(String s,int x);//轉賬
public abstract boolean ifPass(String s);//判斷輸入的密碼是否正確
public abstract int getRest();//查詢余額
public abstract void setPassword(String s);//設置密碼
}
class ATM extends PATM{
private String numbers[]={"1234567891000000","11112222333344445"};//已有的賬戶卡號
private PersonalAccount account=new PersonalAccount();
public boolean withdraw(int x) {
if(x>account.getMoney())
return false;
else{
account.minusMoney(x);
return true;
}
}
public void save(int x) {
account.addMoney(x);
}
public boolean transfer(String s, int x) {
//轉賬
//先判斷轉到賬戶號是否存在
//再判斷余額是否足夠
boolean flag=false;
for(int i=0;i<numbers.length;i++)//比較s是否和t相等,返回一個boolean類型的值(即false或者true)
if(s.equals(numbers[i])) flag=true;//equals()方法在Object定義中是與==相等.就是比較2個對象引用是否相等
if(x>account.getMoney()) flag=false;
if(x<=account.getMoney()&&flag) account.minusMoney(x);;
return flag;
}
public boolean ifPass(String s) {
return account.whetherPwTrue(s);
}
public int getRest() {
return account.getMoney();
}
public void setPassword(String s) {
account.setPw(s);
}
}
@SuppressWarnings("serial")
class NumberErrorException extends Exception{
public NumberErrorException(String msg){
super(msg);
}
}
@SuppressWarnings("serial")
class PasswordErrorException extends Exception{
public PasswordErrorException(String msg){
super(msg);
}
}
@SuppressWarnings("serial")
class NotHundredTimesException extends Exception{
public NotHundredTimesException(String msg){
super(msg);
}
}

java測試感受