1. 首先為什么線程啟動2次
成都創(chuàng)新互聯(lián)主營清水河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,清水河h5微信小程序搭建,清水河網(wǎng)站營銷推廣歡迎清水河等地區(qū)企業(yè)咨詢
a.start();
b.start();
2.其次System.out.println("請輸入您的選擇:A轉(zhuǎn)賬到B或者B轉(zhuǎn)賬到A");
這個輸入的值你那里有取得
public interface ITransfer{ /* * 銀行內(nèi)部轉(zhuǎn)賬,從轉(zhuǎn)出賬號中扣除轉(zhuǎn)賬金額,給轉(zhuǎn)入賬號增加轉(zhuǎn)賬金額,需要保證以上兩個操作 * 要么同時成功,要么同時失敗 * fromAccountId 轉(zhuǎn)出賬號 * outAccountId 轉(zhuǎn)入賬號 * amount 轉(zhuǎn)賬金額 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部轉(zhuǎn)賬-轉(zhuǎn)出,從轉(zhuǎn)出賬號中扣除轉(zhuǎn)賬金額 * fromAccoutnId 轉(zhuǎn)出賬號 * amount 轉(zhuǎn)賬金額 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部轉(zhuǎn)賬-轉(zhuǎn)入,從轉(zhuǎn)入賬號中增加轉(zhuǎn)賬金額 * toAccoutnId 轉(zhuǎn)出賬號 * amount 轉(zhuǎn)賬金額 */ public void transerIn(String toAccountId,BigDecimal amount); } public interface ITransfer{ /* * 銀行內(nèi)部轉(zhuǎn)賬,從轉(zhuǎn)出賬號中扣除轉(zhuǎn)賬金額,給轉(zhuǎn)入賬號增加轉(zhuǎn)賬金額,需要保證以上兩個操作 * 要么同時成功,要么同時失敗 * fromAccountId 轉(zhuǎn)出賬號 * outAccountId 轉(zhuǎn)入賬號 * amount 轉(zhuǎn)賬金額 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部轉(zhuǎn)賬-轉(zhuǎn)出,從轉(zhuǎn)出賬號中扣除轉(zhuǎn)賬金額 * fromAccoutnId 轉(zhuǎn)出賬號 * amount 轉(zhuǎn)賬金額 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部轉(zhuǎn)賬-轉(zhuǎn)入,從轉(zhuǎn)入賬號中增加轉(zhuǎn)賬金額 * toAccoutnId 轉(zhuǎn)出賬號 * amount 轉(zhuǎn)賬金額 */ public void transerIn(String toAccountId,BigDecimal amount); }
import javax.swing.JOptionPane;
public class Account
{
private String name;
private String account;
private String data;
private String ID;
private double balance;
public Account(String name,double balance,String data,String ID)
{
this.name = name;
this.balance = balance;
this.data=data;
this.ID=ID;
}
public String getaccount()
{
this.account=String.valueOf((int)(Math.random()*100000)+1);
return account;
}
public String getdata()
{
return data;
}
public String getID()
{
return ID;
}
public String getName()
{
return name;
}
public double getbalance()
{
return balance;
}
//查看賬戶余額
public double balance()
{
return balance;
}
//查看開戶時間
public String data()
{
return data;
}
//存款操作
public boolean put(double value)
{
if (value0)
{
this.balance += value;
return true;
}
return false;
}
//取款操作
public double get(double value)
{
if (value0)
{
if (value=this.balance)
this.balance -= value;
else
{
value = this.balance;
this.balance = 0;
}
return value;
}
return 0;
}
public static void main(String args[]){
Account user=new Account("張三",2000,"2011/05/23","362329198906234225");
String str;
int b;
String s=JOptionPane.showInputDialog("您好,存款選擇1,取款選擇2,退出選擇0");
int x=Integer.parseInt(s);
while(x!=0){
if(x==1)
{
str=JOptionPane.showInputDialog("輸入您要存入的數(shù)額");
b=Integer.parseInt(str);
if( user.put(b)){
JOptionPane.showMessageDialog(null, "請放入鈔票!");
JOptionPane.showMessageDialog(null,"開戶賬號為"+user.getaccount()+"\n"+user.getName()+"\n開戶時間為"+user.data()+"\n您的余額為"+user.balance());
}
else
JOptionPane.showMessageDialog(null, "你所輸入的存款數(shù)額有誤!");
}
else{
str=JOptionPane.showInputDialog("輸入您要取出的數(shù)額");
b=Integer.parseInt(str);
if(buser.balance())
{
JOptionPane.showMessageDialog(null, "余額不足");
}
else
{
JOptionPane.showMessageDialog(null, "請取出鈔票!");
user.get(b);
JOptionPane.showMessageDialog(null,"開戶賬號為"+user.getaccount()+"\n"+user.getName()+"\n開戶時間為"+user.data()+"\n您的余額為"+user.balance());
}
}
s=JOptionPane.showInputDialog("您好,存款選擇1,取款選擇2,退出選擇0");
x=Integer.parseInt(s);
}
}
}
1、設(shè)置斷點
2、啟動servers端的debug模式
3、運行程序,在后臺遇到斷點時,進入debug調(diào)試狀態(tài)
=============================
作用域 功能 快捷鍵
全局 單步返回 F7
全局 單步跳過 F6
全局 單步跳入 F5
全局 單步跳入選擇 Ctrl+F5
全局 調(diào)試上次啟動 F11
全局 繼續(xù) F8
全局 使用過濾器單步執(zhí)行 Shift+F5
全局 添加/去除斷點 Ctrl+Shift+B
全局 顯示 Ctrl+D
全局 運行上次啟動 Ctrl+F11
全局 運行至行 Ctrl+R
全局 執(zhí)行 Ctrl+U