
正文
java添加银行卡代码,用Java编写一个银行卡类
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java控制台输入银行卡是卡号随机数怎么弄啊,求代码,没有思路,谢谢高手。
这个很简单,用Java的Math.Random函数。
因为你要控制9位数字,并且第一位不是0,所以随机数就是100000000~999999999之间产生。
而Math.Random函数产生的随机数范围是[0,1), 所以用一个函数就可以产生了:
String bankaccount = String.valueOf(Math.round(Math.random()*900000000+100000000));
这里注意一点:
1. 后面加多少(比方说+100),就说明随机数从哪个开始取
2. 那个乘数是最大的要达到的数值(当然你要加上基数,就是+100的值)。
3. 因为随机数区间是[0,1), 所以1是达不到的,所以应该*900000000, 而不是*899999999.
相关问答
Q1: java编写银行卡:包含属性卡号,密码和余额,要求卡号不能修改,密码修改需要提供?
提倡独立完成作业,培养独立思考能力。
思路:可以新建一个银行卡类BankCard,内部属性包含一个私有的不可变常量卡号cardNo,私有的可变量密码password,私有的可变量余额cardBalance。
参考代码如下:(仅供参考)
Q2: JAVA 简单银行系统的代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class AccountDemo {
public static double MONEY = 0;// 初始化金额是100元。
public static void main(String[] args) {
final String USER_NAME = "zhangsan";// 用户名
final String PASSWORD = "123456";// 密码
while (true) {
System.out.print("请输入用户名:");
String user_name = getString();
System.out.print("请输入密码:");
String password = getString();
if (user_name != null user_name.equals(USER_NAME)
password != null password.equals(PASSWORD)) {
System.out.println("登陆成功!你要干什么?");
while (true) {
System.out.println("1:存款");
System.out.println("2:取款");
System.out.println("3:查询余额");
System.out.println("q:退出程序");
System.out.print("请选择:");
String userIn = getString();
int in = 0;
if (userIn != null userIn.equals("1")) {
in = Integer.parseInt(userIn);
} else if (userIn != null userIn.equals("2")) {
in = Integer.parseInt(userIn);
} else if (userIn != null userIn.equals("3")) {
in = Integer.parseInt(userIn);
} else if (userIn != null
userIn.trim().toUpperCase().equals("Q")) {
in = 4;
} else {
System.out.println("你输入的指令不正确!请重新输入。");
continue;
}
switch (in) {
case 1:
double add_money = 0;
while (true) {
System.out.print("请输入你要存入的金额:");
try {
add_money = Double.parseDouble(getString());
} catch (Exception e) {
System.out.println("金额输入不正确!");
continue;
}
break;
}
MONEY += add_money;
System.out.println("存入的金额是" + add_money
+ "\r\n请选择你要的操作:");
break;
case 2:
double money = 0;
while (true) {
System.out.print("请输入你要取出的金额:");
try {
money = Double.parseDouble(getString());
} catch (Exception e) {
System.out.println("金额输入不正确!");
continue;
}
if (money MONEY) {
System.out.println("取出的金额大于现有存款,请重新输入要取出的金额!");
continue;
}
break;
}
MONEY -= money;
System.out.println("取出的金额是" + money + "\r\n请选择你要的操作:");
break;
case 3:
System.out.println("你的余额是:" + MONEY + "\r\n请选择你要的操作:");
break;
case 4:
System.out.println("程序退出!");
return;
}
}
} else {
System.out.println("错误:用户名与密码不匹配!\r\n");
System.out.println("按任意键:重新输入用户名和密码。");
System.out.println("q:退出程序。");
System.out.print("请选择:");
String in = getString();
if (in.trim().toUpperCase().equals("Q")) {
break;
}
}
}
}
public static String getString() {
String str = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
Q3: 如何用Java代码编写银行转账
public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); } public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); }
Q4: 如何在java中添加银行卡认证状态(通过和未通过)
银行卡认证 , 有通过和未通过, 二种状态
最简单的就是银行卡 添加一个boolean变量checked 用于存储其状态
public class BankCard {
private String cardID;
private boolean checked;//该属性用于存储认证是否通过 true通过 false未通过
public BankCard() {
}
public BankCard(String cardID, boolean checked) {
this.cardID = cardID;
this.checked = checked;
}
public String getCardID() {
return cardID;
}
public void setCardID(String cardID) {
this.cardID = cardID;
}
public boolean isChecked() {//获得验证状态
return checked;
}
public void setChecked(boolean checked) {//设置验证状态
this.checked = checked;
}
}
Q5: java定义一个银行卡类(BankCard)以及派生类ForeignCard,LimitedCard,成员包括姓名,卡
abstract class BankCard {
protected String name;
protected String cardNo;
protected double money;
public BankCard(String name, String cardNo, double money) {
super();
this.name = name;
this.cardNo = cardNo;
this.money = money;
}
public String getName() {
return name;
}
public String getCardNo() {
return cardNo;
}
public double getMoney() {
return money;
}
public abstract void unputMoney(int someMoney);
public void putMoney(int someMoney) {
this.money += someMoney;
}
}
class ForeignCard extends BankCard {
public ForeignCard(String name, String cardNo, double money) {
super(name, cardNo, money);
}
@Override
public void unputMoney(int someMoney) {
double left = getMoney() - someMoney * 1.01;
if(left = 0) {
super.money = left;
} else {
throw new RuntimeException("余额不足");
}
}
}
class LimitedCard extends BankCard {
public LimitedCard(String name, String cardNo, double money) {
super(name, cardNo, money);
}
@Override
public void unputMoney(int someMoney) {
if(someMoney 1000) {
throw new RuntimeException("取款不能超过1000");
}
if(getMoney() someMoney) {
throw new RuntimeException("余额不足");
}
super.money -= someMoney;
}
}






