java+mysql模拟实现银行系统

模拟电子银行,开户,存钱,取钱,查询用户信息,修改用户信息,查询余额,查询明细,注销,退出,等等

基本实现了相关功能。但是规定每次需要重新登录,还是很麻烦的。

另外用户注销时候,没有规定删除operator表中信息,此处会有问题。但想了半天觉得现实中这部分信息需要保留一段时间,不应该删除。orz

数据库设计:

bank.java:

package mybank;

import org.apache.commons.dbutils.QueryRunner;

//import java.sql.Date;
import java.util.*;
import java.util.Date;
import java.sql.*;
import java.text.DecimalFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class bank {

// public static Connection getConnection() throws Exception
// {
//// Class.forName("com.mysql.cj.jdbc.Driver");
//// Properties info=new Properties();
//// info.setProperty("user", "root");
//// info.setProperty("password", "wenmiao11");
////
//// Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/scsxbank?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false", info);
////
//
//
// return conn;
// }

 public static int writeoperator(String type,double num,int fromid,int toid) throws Exception
 {
 Connection conn=JdbcUtil.getConn();
 PreparedStatement pstmt = conn.prepareStatement("insert into operator "
 + "values(0,?,?,?,?,?,?)");
 pstmt.setString(1,type);
 pstmt.setDouble(2,num);
 pstmt.setInt(3,fromid);
 pstmt.setInt(4,toid);
 //Date d=new Date();
 java.sql.Date timePara = new java.sql.Date(new Date().getTime());
 pstmt.setDate(5,timePara);
 Calendar cal = Calendar.getInstance();//日期类
 java.sql.Timestamp timestampnow = new java.sql.Timestamp(cal.getTimeInMillis());//转换成正常的日期格式
 java.util.Date current =new java.util.Date();
 timestampnow = new java.sql.Timestamp(current.getTime());
 pstmt.setTimestamp(6, timestampnow);
 int k=pstmt.executeUpdate();
 return k;
 }
 public static int testmoneyenough(int idnum,double awaymoney) throws Exception
 {
 double balance=getbalance(idnum);
 if(balance>awaymoney)
 {
 return 1;
 }
 else
 {
 System.out.println("money is not enough!");
 return 0;
 }
 }
 public static double getbalance(int idnum) throws Exception
 {
 Connection conn=JdbcUtil.getConn();
 String sql="select * from balance where id=?;";
 Object[] params2 = {idnum};
 QueryRunner qr = new QueryRunner(JdbcUtil2.getDataSource());
 Object[] obj = qr.query(conn, sql, new ArrayHandler(),params2);

 if(obj.length>0)
 {
 System.out.println(obj[1]);
 return ((double)obj[1]);
 }
 else
 {
 System.out.println("error");
 return -1;
 }
 }

 public static int updatebalance(double num,int idnum) throws Exception
 {
 Connection conn=JdbcUtil.getConn();
 PreparedStatement pstmt ;
 pstmt = conn.prepareStatement("update balance set balance=balance+? where id=?;");
 pstmt.setDouble(1, num);
 pstmt.setInt(2, idnum);
 int k=pstmt.executeUpdate();
 return k;
 }
 public static int testpassword() throws Exception
 {
 System.out.println("input your id number:");
 Scanner cin=new Scanner(System.in);
 int idnum=cin.nextInt();
 System.out.println("input your password:");
 String password = cin.next();
 Connection conn=JdbcUtil.getConn();
 String sql="select * from user where id=? and password=?";

 Object[] params = {idnum,password,};

 QueryRunner qr = new QueryRunner(JdbcUtil2.getDataSource());
 Object[] obj = qr.query(conn, sql, new ArrayHandler(),params);

 if(obj.length>0)
 {
 return idnum;
 }
 else
 {
 System.out.println("wrong message!");
 return -1;
 }

 }

 public static void openAnAccount() throws Exception
 {
 Scanner cin=new Scanner(System.in); 

 System.out.println("input your name:");
 String name=cin.next();
 String password;
 String passwordagain;

 while(true)
 {
 System.out.println("input your password:");
 password=cin.next();

 System.out.println("input your password again:");
 passwordagain=cin.next();

 if(password.equals(passwordagain))
 {
 break;
 }
 else
 {
 System.out.println("different password, please input again!");
 }
 }
 Connection conn=JdbcUtil.getConn();

 PreparedStatement pstmt = conn.prepareStatement("select * from maxid");
 //String sql="select max(id) from user";
 ResultSet rs=pstmt.executeQuery();

 rs.next();

 //rs.getObject(1);
 int id=rs.getInt(1)+1;
 pstmt = conn.prepareStatement("update maxid set id=id+1");
 pstmt.executeUpdate();
 //String strmaxid=rs.getString(1);
 //System.out.println(id);

 //sql="insert into user values(%d,%s,%s)";
 pstmt = conn.prepareStatement("insert into user values(?,?,?)");

 pstmt.setInt(1, id);
 pstmt.setString(2, name);//System.out.println("again!");
 pstmt.setString(3, password);

 int k = pstmt.executeUpdate();
 pstmt = conn.prepareStatement("insert into balance values(?,?)");

 pstmt.setInt(1, id);
 pstmt.setDouble(2, 0);

 int l = pstmt.executeUpdate();

 //System.out.println("dif");
 DecimalFormat df=new DecimalFormat("0000000000");
 if(k!=0&&l!=0)
 System.out.println("create the account successfully,your id is "+df.format(id));
 //15246785055
 k=writeoperator("enroll",-1,id,0);
// pstmt = conn.prepareStatement("insert into operator values(?,?,?,?,?)");
// pstmt.setInt(1, 0);
// pstmt.setString(2, "enroll");//System.out.println("again!");
// pstmt.setInt(3, 0);
// pstmt.setString(4, String.valueOf(id));//System.out.println("again!");
// pstmt.setString(5, "");//System.out.println("again!");
// k=pstmt.executeUpdate();
 if(k==1)
 System.out.println("success again");
 else
 System.out.println("TAT");
 }

 public static void showbalance() throws Exception
 {
 System.out.println("input your id number:");
 Scanner cin=new Scanner(System.in);
 int idnum=cin.nextInt();
 //System.out.println(idnum);
 System.out.println("input your password:");
 String password = cin.next();

 Connection conn=JdbcUtil.getConn();
 String sql="select * from user where id=? and password=?";

 Object[] params = {idnum,password,};

 QueryRunner qr = new QueryRunner(JdbcUtil2.getDataSource());

 Object[] obj = qr.query(conn, sql, new ArrayHandler(),params);
 //System.out.println("2w2w");
 //String id=obj[0].toString();
 if(obj.length>0)
 {
 //System.out.println("-----");
 System.out.println(obj[1]+" : 你好!");
 }
 else
 {
 System.out.println("wrong message!");
 return;
 }
 int k=writeoperator("login",-1,idnum,0);
// PreparedStatement pstmt ;
// pstmt = conn.prepareStatement("insert into operator values(?,?,?,?,?)");
// pstmt.setInt(1, 0);
// pstmt.setString(2, "login");//System.out.println("again!");
// pstmt.setInt(3, 0);
// pstmt.setString(4, String.valueOf(id));//System.out.println("again!");
// pstmt.setString(5, "");//System.out.println("again!");
// int k=pstmt.executeUpdate();
 if(k==1)
 System.out.println("success again");
 else
 System.out.println("TAT");

 getbalance(idnum);

// sql="select * from balance where id=?;";
// Object[] params2 = {idnum};
// qr = new QueryRunner(JdbcUtil2.getDataSource());
// obj = qr.query(conn, sql, new ArrayHandler(),params2);
//
// if(obj.length>0)
// System.out.println(obj[1]);
// else
// System.out.println("error");

 }

 public static void saving() throws Exception
 {
 Scanner cin=new Scanner(System.in);
 int idnum=testpassword();
 if(idnum==-1)
 {
 System.out.println("wrong message!");
 return;
 }
 else
 {
 System.out.println("input saving number:");
 double accountnum=cin.nextDouble();
 System.out.println("before saving, your balance is "+getbalance(idnum)+"¥");
 updatebalance(accountnum,idnum);
 writeoperator("saving",accountnum,idnum,0);
 System.out.println("after saving, your balance is "+getbalance(idnum)+"¥");
 }
 }

 public static void withdrawal() throws Exception
 {
 Scanner cin=new Scanner(System.in);
 int idnum=testpassword();
 if(idnum==-1)
 {
 System.out.println("wrong message!");
 return;
 }
 else
 {
 System.out.println("input withdrawal number:");
 double accountnum=cin.nextDouble();
 int flag=testmoneyenough(idnum,accountnum);
 if(flag>0)
 {
 System.out.println("before withdrawal, your balance is "+getbalance(idnum)+"¥");
 updatebalance(accountnum*(-1),idnum);
 writeoperator("withdrawal",accountnum,idnum,0);
 System.out.println("after withdrawal, your balance is "+getbalance(idnum)+"¥");
 }
 else
 return;
 }
 }

 public static void transfer() throws Exception
 {
 Scanner cin=new Scanner(System.in);
 int idnum=testpassword();
 if(idnum>0)
 {
 System.out.println("which evil will deprive your little money?");
 int toidnum=cin.nextInt();
 System.out.println("And how much?");
 double accountnum=cin.nextInt();
 int flag=testmoneyenough(idnum,accountnum);
 if(flag>0)
 {
 System.out.println("before transfer, your balance is "+getbalance(idnum)+"¥");
 Connection conn=JdbcUtil.getConn();
 conn.setAutoCommit(false);
 String sql1 = "update balance set balance=balance-? where id=?";
 String sql2 = "update balance set balance=balance+? where id=?";
 PreparedStatement pstmt = conn.prepareStatement(sql1);
 pstmt.setDouble(1,accountnum);
 pstmt.setInt(2,idnum);
 pstmt.executeUpdate();
 pstmt = conn.prepareStatement(sql2);
 pstmt.setDouble(1,accountnum);
 pstmt.setInt(2,toidnum);
 pstmt.executeUpdate();
 conn.commit();
 writeoperator("transfer",accountnum,idnum,toidnum);

 System.out.println("after transfer, your balance is "+getbalance(idnum)+"¥");
 }
 else
 return;
 }
 else
 return;
 }

 public static void seekdetails() throws Exception
 {
 int idnum=testpassword();
 writeoperator("seek",0,idnum,0);
 if(idnum>0)
 {
 Connection conn=JdbcUtil.getConn();

 String sql = "select * from operator where fromid=?;";
 PreparedStatement pstmt = conn.prepareStatement(sql);
 pstmt.setInt(1,idnum);
 ResultSet rs = pstmt.executeQuery();
 while(rs.next())
 {
 System.out.println(rs.getInt(1)+" "+rs.getString(2));
 }
 }
 else
 {
 return;
 }
 }

 public static void logoff() throws Exception
 {
 int idnum=testpassword();
 if(idnum>0)
 {
 System.out.println("are you sure?(Y/N)");
 Scanner cin=new Scanner(System.in);
 String s=cin.next();
 if(s.equals("Y"))
 {
 Connection conn=JdbcUtil.getConn();

 String sql = "delete from user where id=?;";
 PreparedStatement pstmt = conn.prepareStatement(sql);
 pstmt.setInt(1,idnum);
 int k=pstmt.executeUpdate();

 sql = "delete from balance where id=?;";
 pstmt = conn.prepareStatement(sql);
 pstmt.setInt(1,idnum);
 int l=pstmt.executeUpdate();
 if(k>0&&l>0)
 {
 writeoperator("delete",0,idnum,0);
 System.out.println("delete successfully!");
 }
 else
 {
 System.out.println("there must be something wrong!");
 }
 }
 else
 {
 return;
 }
 }
 else
 {
 return;
 }
 }

 public static void main(String[] args) throws Exception {
 // TODO Auto-generated method stub
 Scanner cin=new Scanner(System.in);
 int flag=0;
 while(true)
 {
 System.out.println("--欢迎使用并没有钱的银行系统!--\n"
 + "(1):开户\n"
 + "(2):显示余额\n"
 + "(3):存钱\n"
 + "(4):取钱\n"
 + "(5):转账\n"
 + "(6):明细查询\n"
 + "(7):注销\n"
 + "(0):退出\n"
 + "请输入你的操作:\n");

 int i=cin.nextInt();
 switch(i)
 {
 case 1 :
 {
 openAnAccount();
 break;
 }
 case 2 :
 {
 showbalance();
 break;
 }
 case 3 :
 {
 saving();
 break;
 }
 case 4 :
 {
 withdrawal();
 break;
 }
 case 5 :
 {
 transfer();
 break;
 }
 case 6 :
 {
 seekdetails();
 break;
 }
 case 7 :
 {
 logoff();
 break;
 }
 case 0:
 {
 System.out.println("欢迎下次使用!");
 flag=1;
 break;
 }
 default:
 {
 System.out.println("输入错误,请重试!");
 }
 }
 if(flag==1)
 break;

 }
 cin.close();
 }

}

JdbcUtil.java:

package mybank;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Properties;

/*
 * 为了提高代码复用性,进行简单的封装
 * */
public class JdbcUtil {
 /*public static final String DRIVERNAME = "com.mysql.jdbc.Driver";
 public static final String URL = "jdbc:mysql:///test";
 public static final String USER = "root";
 public static final String PASSWORD = "123456";*/

/* public static String driver;
 public static String url;
 public static String user;
 public static String password;
 */
 //加载配置文件
 public static Properties ps = null;
 static{
 ps = new Properties();
 Reader r = null;
 try {
 r = new FileReader("src/db.properties");
 } catch (FileNotFoundException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 try {
 ps.load(r);
 } catch (IOException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }

 //driver = ps.getProperty(driver);
 }

 static{
 try {
 Class.forName(ps.getProperty("driver"));
 } catch (ClassNotFoundException e) {
 System.out.println("注册驱动失败。。");
 e.printStackTrace();
 }
 }
 /*static{
 try {
 Class.forName(DRIVERNAME);
 } catch (ClassNotFoundException e) {
 System.out.println("注册驱动失败。。");
 e.printStackTrace();
 }
 }*/

 //提供获取连接对象的方法
 public static Connection getConn(){
 Connection conn = null;
 try {
 conn = DriverManager.getConnection(ps.getProperty("url"), ps.getProperty("user"), ps.getProperty("password"));
 } catch (SQLException e) {
 System.out.println("获取连接失败。");
 e.printStackTrace();
 }
 return conn;
 }

 //提供一个专门执行dml语句的方法
 public static int executeUDI(String sql,Object[] params) throws Exception{
 Connection conn = getConn();
 PreparedStatement pstmt = conn.prepareStatement(sql);
 for(int i=0;params!=null&&i<params.length;i++){
 pstmt.setObject(i+1, params[i]);
 }
 return pstmt.executeUpdate();
 }

 //提供一个转么执行select语句的方法,返回对象集合
 public static ArrayList executeQuery(String sql,Object[] params){
 //....
 return null;
 }
}

JdbcUtil2.java:

package mybank;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp2.BasicDataSource;

public class JdbcUtil2 {
 //加载配置文件
 public static Properties ps = null;
 static{
 ps = new Properties();
 Reader r = null;
 try {
 r = new FileReader("src/db.properties");
 } catch (FileNotFoundException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 try {
 ps.load(r);
 } catch (IOException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }

 //driver = ps.getProperty(driver);
 }

 /*
 * 创建连接池
 * */
 public static BasicDataSource dataSource = new BasicDataSource();
 /*
 * 对连接池进行配置,基本配置
 * */
 static{
 dataSource.setDriverClassName(ps.getProperty("driver"));
 dataSource.setUrl(ps.getProperty("url"));
 dataSource.setUsername(ps.getProperty("user"));
 dataSource.setPassword(ps.getProperty("password"));
 }

 /*
 * 返回连接对象
 * */
 public static DataSource getDataSource(){
 return dataSource;
 }
}

db.properties:

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/scsxbank?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
user=root
password=xxx

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现银行ATM系统

    用Java模拟一个银行ATM系统,供大家参考,具体内容如下 系统功能介绍: 使用面向对象的编程思想,尽可能模拟真实世界中的银行ATM业务流程. main方法里通过调用一行代码,完成整个业务流程的顺序调用. 加入了身份证号,手机号等元素,虽然他们不涉及银行卡的业务处理,但它们是真实世界中办理银行卡的必需条件,这些在代码中也有所体现. 为了尽可能使得随机生成的身份证号码和手机号码和银行卡号切合实际,还手动设计了一个工具类,用来生成随机的号码. 其中涉及到的知识,包括但不限于static修饰符的使用,

  • java实现简单银行管理系统

    本文实例为大家分享了java银行管理系统的具体代码,供大家参考,具体内容如下 账户类 package Account; public abstract class Account { private int id;//账号 private String password;//密码 private String name;//姓名 private String personId;//身份证号码 private String email;//邮箱 private double ceiling;//贷

  • java代码实现银行管理系统

    本文实例为大家分享了java银行管理系统的具体代码,供大家参考,具体内容如下 银行业务调度 一.系统要求 1.银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 2.有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 3.异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户  =  1 :6 :3. 4.客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客

  • Java 模拟银行自助终端系统

    一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处理机制进行处理. 2. 评分将以功能实现与代码规范性相结合的方式进行考核. 3. 如果对项目需求有疑问,可以随时以QQ留言方式联系我进行咨询. 4. 国庆放假期间,每天都有老师在公司值班,10月4日是我在公司值班,10月7日正常上班,欢迎大家到公司来做项目. 二. 项目功能要求: 项目开始运行显示主菜单为: 银行自助终端系统 ************

  • java实现银行管理系统

    本文实例为大家分享了java实现银行管理系统的具体代码,供大家参考,具体内容如下 Bank类 package First; import java.util.TreeSet; //银行类 public class Bank { private String Bankname = "坑对对银行"; //银行名称 TreeSet<User> holder = null; //银行存储的信息 private static Bank INSTANCE = new Bank(); p

  • java银行管理系统源码

    银行管理系统 (java实现),供大家参考,具体内容如下 1.创建一个封装类(Studentss) import javax.naming.Name; import javax.naming.NamingEnumeration; public class Studentss { //无参 public Studentss(){} //有参 public Studentss(String name,String account,int balance,String uesrpwds,String

  • java+mysql模拟实现银行系统

    模拟电子银行,开户,存钱,取钱,查询用户信息,修改用户信息,查询余额,查询明细,注销,退出,等等 基本实现了相关功能.但是规定每次需要重新登录,还是很麻烦的. 另外用户注销时候,没有规定删除operator表中信息,此处会有问题.但想了半天觉得现实中这部分信息需要保留一段时间,不应该删除.orz 数据库设计: bank.java: package mybank; import org.apache.commons.dbutils.QueryRunner; //import java.sql.Da

  • Java多线程模拟银行系统存钱问题详解

    目录 一.题目描述 二.解题思路 三.代码详解 多学一个知识点 一.题目描述 题目:模拟一个简单的银行系统,使用两个不同的线程向同一个账户存钱. 实现:使用特殊域变量volatile实现同步. 二.解题思路 创建一个类:SynchronizedBankFrame,继承JFrame类 写一个内部类Bank 定义一个account变量,来表示账户. deposit():一个存钱的方法 getAccount():显示账户余额的方法. 写一个内部类Transfer,实现Runnable接口 在run方法

  • 利用java+mysql递归实现拼接树形JSON列表的方法示例

    前言 本文给大家介绍的是关于利用java+mysql递归实现拼接树形JSON列表的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 我们在做Java web项目时,前端控件例如国家-省-市-区-县等树形列表,常常需要多级树形json数据 例如: [ { "name": "商品目录", "pid": "-1", "id": "1", "children"

  • java通过模拟post方式提交表单实现图片上传功能实例

    本文实例讲述了java通过模拟post方式提交表单实现图片上传功能.分享给大家供大家参考,具体如下: 模拟表单html如下: <form action="up_result.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1"> <label> <input type="tex

  • Java数组模拟优先级队列数据结构的实例

    优先级队列 如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了.这样,我们就引入了优先级队列 这种数据结构. 优先级队列(priority queue) 是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有(1)查找(2)插入一个新元素 (3)删除 一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素 .对于优先权相同的元素,可按先进先出次序处理或按任意优先

  • java 中模拟UDP传输的发送端和接收端实例详解

    java 中模拟UDP传输的发送端和接收端实例详解 一.创建UDP传输的发送端 1.建立UDP的Socket服务: 2.将要发送的数据封装到数据包中: 3.通过UDP的Socket服务将数据包发送出去: 4.关闭Socket服务. import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class

  • python操作MySQL 模拟简单银行转账操作

    一.基础知识 1.MySQL-python的安装 下载,然后 pip install 安装包 2.python编写通用数据库程序的API规范 (1).数据库连接对象 connection,建立python客户端与数据库的网络连接,创建方法为 MySQLdb.Connect(参数) 参数有六个:     host(MySQL服务器地址,一般本地为127.0.0.1) port(MySQL服务器端口号)                             user(用户名)           

  • Java mysql数据库并进行内容查询实例代码

    Java  mysql数据库并进行内容查询 最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Connection getCon() { //数据库连接名称 String username="root"; //数据库连接密码 String password=""; String driver="com.mysql.j

  • Python操作MySQL模拟银行转账

    今天在慕课网上学习了有关于python操作MySQL的相关知识,在此做些总结.python操作数据库还是相对比较简单的,由于python统一了各个数据库的接口程序,也就是所谓的Python DB,所以无论使用何种数据可,都可以用统一的接口对数据库进行操作.操作中主要涉及connection对象的操作和cursor的操作,前者主要是为了建立起python与数据库的数据交换通道,后者则是访问数据的游标,也可以理解为指针.数据库的相关结构化语言在Python中均是以字符串的形式呈现的.另外注意roll

  • 使用Java程序模拟实现新冠病毒传染效果

    简单介绍 2020年注定是不平凡的一年,新冠肺炎肆虐全球,传染性特别强,目前全球感人人数还在逐渐攀升,作为中华儿女特别感谢政府作出的努力,非常感谢并致敬医护人员,是他们的努力为我们创造安全的环境,向你们致敬! 模拟方案 以下是程序粗略的模拟病毒传染过程,具体方案如下: 首先需要构造一个200 * 200的格子界面有四种不同的颜色状态标记着程序执行的过程程序执行10次,初始化格子也就是0的时候,需要在整个格子最中心的100个格子标记为红色,剩余数据随机抽取四千(且不能重复)标记为黑色,其余没有标记

随机推荐