每日练习-20181222

一、JavaScript 编程题

B/S 与 C/S 的联系与区别。
解答
联系:
(1) 浏览器/服务器(B/S)模型是一种特殊的、具体化的客户/服务器(C/S)模型,其特殊之处是B/S模型的客户端软件特指浏览器,服务器一般是Web服务器,使用HTTP协议通信。其工作过程是C/S模型的具体化、实例化。
(2)二者的本质思想均是基于计算机网络中,不同主机之间软硬件资源、运算能力和信息不均等,为实现资源信息共享,必然形成不对等的通信地位和交互方式。
(3)两种结构对应的软件系统均为分布式网络应用程序系统。
区别:
C/S模型:
优点
(1)结构简单。
(2)支持分布式、并发环境。有效提高资源的利用率和共享程度。
(3)服务器集中管理资源,有利于权限控制和系统安全。
(4)可扩展性较好。客户和服务器均可单独地升级。
缺点:
(1)不易部署(客户端逐一安装、挑平台)
(2)维护困难(客户端需注意更新)
B/S 模型:
优点
(1)分布式、易扩展、共享性强
(2)易部署(各平台自带通用浏览器)
(3)容易维护(服务器端改变网页内容可实现所有用户同步更新)
(4)页面动态刷新,响应速度明显降低。

二、MySQL 简答题

请描述 MySQL 从安装到配置的全部详细过程(确保一台新电脑可以顺利使用 MySQL)。
解答
第一步:下载
地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip
Select Platform:Microsoft Windows。
第二步:安装
2.1 解压。
解压后,mysql-8.0.11文件夹放置在C:\web文件夹中。若无则自建在C盘中建一个web文件夹。
2.2 创建 my.ini 配置文件。
在C:\web\mysql-8.0.11中,创建my.tex记事本。并编写内容。

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

保存后,把my.tex文件名改为my.ini。
第三步:启动MySQL——使用cmd命令符进行初始化
3.1 切换目录:cd C:\web\mysql-8.0.11\bin
3.2 初始化数据库:mysqld --initialize --console。
执行完成后,会输出 root 用户的初始默认密码,如:

2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
-- APWCY5ws&hjQ 就是初始密码,后续登录需要用到,可以在登陆后修改密码。

在 5.7 需要初始化 data 目录:mysqld --initialize-insecure
3.3 安装命令:mysqld install
3.4 启动命令:net start mysql
第四步:登录 MySQL
4.1 登录命令:mysql -h 主机名 -u 用户名 -p
登录本机MySQL时命令:mysql -u root -p。
4.2 输入密码:Enter
在“password:”后输入密码。

三、Java 简答题

求 0—7 所能组成的不超过 8 位奇数的个数。
解答

public class Day14{
  public static void main(String[] args){
    Day14 num = new Day14();
    num.getResult1(0,7,8);
  }
  // 获取结果1。不超过某位数时的个数。
  public void getResult1(int startNum, int endNum, int placesNumber){
     int sum = 0;
     for(int i = 1; i <= placesNumber; i++){
       sum = sum + getResult2(startNum, endNum, i);
     }
     System.out.println("当起始数字为:" + startNum + ",结束数字为:" + endNum +"时,不超过" + placesNumber + "位奇数的个数为:" + sum); 
  }
  // 获取结果2。当为某位数时的个数。
  public int getResult2(int startNum, int endNum, int placesNumber){
    /**
     * 分析
     * 1. 是一个8位数。
     * 2. 首位:不能为0。(endNum - startNum)种情况。a
     * 3. 末尾为奇数。xx种情况,根据奇数个数确定。b
     * 4. 中间n位情况。(endNum - startNum + 1)种情况。c*c*c*c*c....=c^n。
     * 5. 总情况:a*(c^n)*b。
     */
    int odd = findOdd(startNum, endNum); //寻找奇数的个数。
    if( placesNumber > 1){
      int OddNum = odd * getOddNum(startNum, endNum,placesNumber); // 计算总奇数个数。
      System.out.println("当起始数字为:" + startNum + ",结束数字为:" + endNum +"时," + placesNumber + "位奇数的个数为:" + OddNum); 
       return OddNum; 
    }else{
        System.out.println("当起始数字为:" + startNum + ",结束数字为:" + endNum +"时," + placesNumber + "位奇数的个数为:" + odd); 
       return odd; 
    }
  }
  // 寻找奇数的个数。
  public int findOdd(int startnNum, int endNum){
    int oddNum;
    for(int i = startnNum; i <= endNum; i++){
      oddNum = (i % 2 != 0) ? (oddNum + 1) : oddNum;
    }
    return oddNum;
  }
  // 计算去除末尾后,组合的个数。
  public int getOddNum(int startNum, int endNum, int placesNumber){
    int a = endNum - startNum + 1; // 每位可以放数字的个数。 
    int b = placesNumber - 2; // 去除首位和末尾后的位个数。
    int s = (int)(Math.pow(a, b)); // 中间组合情况。
    if(startNum == 0){ 
       return (a - 1) * s;
    }else{
       return a * s;
    }
  }  
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值