[英]Display line number in console? Java
我正在嘗試將我的提款/存款交易輸出到控制台,該控制台運行良好。 但是我想在卡號旁邊用行號輸出它們。
我的代碼是:
public synchronized int withdraw(int cardId, int amount) {
bankBalance = bankBalance - amount;
System.out.printf("%-12s%-12s%-12s%-12s\n","line(" + cardId + ")", amount," ", + bankBalance);
return bankBalance;
}
public synchronized int deposit(int cardId, int amount) {
bankBalance = bankBalance + amount;
System.out.printf("%-12s%-12s%-12s%-12s\n","line(" + cardId + ")", " " , amount, + bankBalance);
return bankBalance;
}
它將輸出如下:
Transaction Withdrawal Deposit Balance
____________________________________________
line(3) 5 15
line(5) 2 17
line(2) 6 11
括號中的數字與卡號有關,我想把它保留在那里。 我也想擁有像1,2,3,4,5,6,7,8,9這樣循環的行號,其中文本“ line”是這樣的:
Transaction Withdrawal Deposit Balance
____________________________________________
1(3) 5 15
2(5) 2 17
3(2) 6 11
有任何想法嗎?
根據您使用的synchronized
修飾符,您將需要一個不會遇到並發問題的計數器。 也許您可以嘗試以下方法:
private static final AtomicInteger i = new AtomicInteger();
public synchronized int withdraw(int cardId, int amount) {
bankBalance = bankBalance - amount;
System.out.printf("%-12s%-12s%-12s%-12s\n", i.incrementAndGet() + "(" + cardId + ")", amount," ", + bankBalance);
return bankBalance;
}
public synchronized int deposit(int cardId, int amount) {
bankBalance = bankBalance + amount;
System.out.printf("%-12s%-12s%-12s%-12s\n", i.incrementAndGet() + "(" + cardId + ")", " " , amount, + bankBalance);
return bankBalance;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.