精华内容
下载资源
问答
  • 设计一个名为 Stock的类表示股票,该类包括: ●一个名为symbol的字符串数据域表示股票代码: ●一个名为name的字符串数据域表示股票名称;...●创建一个给定特定代码和名称的股票构造方法: ●一个名为getChange...
    设计一个名为 Stock的类表示股票,该类包括:
    ●一个名为symbol的字符串数据域表示股票代码:
    ●一个名为name的字符串数据域表示股票名称;
    ●一个名为previousPrice的double型数据域,用来存储股票的前一 日收盘价:
    ●一个名为currentPrice的double型数据域,用来存储股票的当前价格:
    ●创建一个给定特定代码和名称的股票构造方法:
    ●一个名为getChangePercentO方法,返回从前日价格到 当前价格变化的百分比。
    实现这个类。编写个测试程序,创建一个Stock 对象,它的股票代码是600000,股票名称是“浦发银行”,前一日收盘价是 25.5,当前的最新价是28.6,显示市值变化的百分比。
    package Chapter_4;
    
    public class Stock {
    String symbol,name;
    double previousPrice,currentPrice;
    public String getSymbol() {
       return symbol;
    }
    public void setSymbol(String symbol) {
       this.symbol = symbol;
    }
    public String getName() {
       return name;
    }
    public void setName(String name) {
        this.name = name;
    }
       public double getPreviousPrice() {
       return previousPrice;
    }
    public void setPreviousPrice(double previousPrice) {
       this.previousPrice = previousPrice;
    }
    public double getCurrentPrice() {
       return currentPrice;
    }
    public void setCurrentPrice(double currentPrice) {
       this.currentPrice = currentPrice;
    }
    public double getChangePercent() {
       return (this.currentPrice/this.previousPrice-1)*100;
    }
       public static void main(String[] args) {
         // TODO Auto-generated method stub
    Stock s=new Stock();
    s.setSymbol("股票代码:600000");
    s.setName("股票名称:浦发银行");
    s.setPreviousPrice(25.5);
    s.setCurrentPrice(28.6);
    System.out.println(s.getSymbol());
    System.out.println(s.getName());
    System.out.printf("市值变化百分比为:"+"%.2f",s.getChangePercent());
    System.out.println("%");
       }
    
    }
    
    展开全文
  • androidStudio怎么创建一个全新的项目

    千次阅读 2020-01-16 12:07:05
    (一)、在androidStudio中创建一个新的手机移动端的项目 很多学弟学妹在安装好androidStudio后是不是迫不及待的想要建立一个工程耍一下,提前学习一下安卓的开发呀,这里,学长林君给大家讲解一下在androidStudio...

    androidStudio新建一个全新项目并添加activity的步骤方法

    (一)、在androidStudio中创建一个新的手机移动端的项目

    很多学弟学妹在安装好androidStudio后是不是迫不及待的想要建立一个工程耍一下,提前学习一下安卓的开发呀,这里,学长林君给大家讲解一下在androidStudio3.5版本上怎么建立一个合适的项目,已经在项目中如何添加新的页面,欢迎给学长留言评论哦!
    1、当我们安装好androidStudio后,初次进入可以看到如下页面,我们点击红色箭头处跳转到下一个页面。
    在这里插入图片描述2、如下所示,此页面是需要我们选择项目的属性,我们由于是手机移动端,我们选择phone and Table,下面的页面是我们进入该项目后,系统生成的主页面的详情,对于刚开始学习的同学来说,我们选择红色箭头一处的空页面,然后选择next,进入下一步
    在这里插入图片描述
    3、这一步我们可以由图看到,需要我们填写项目的名称、项目所属的包的名称(这里后面会用到这里不做详细解释),项目的存储路径、开发语言、适合自己手机的安卓版本,如下所示,我们一步一步建立:
    箭头1:我们建立项目名称为“Hello World”(大家可以自己随意选择,自己喜欢什么就可以设置什么,通常,我们设置的规则是见名知意就行);
    箭头2:包名,后缀不用去修改,也就是helloworld前面的大家可以自己修改;
    箭头3:项目存储的路径,建议大家在自己的电脑上面有一个专门的做android开发的文件夹,后面我们的项目就可以直接在此文件夹里面寻找,这方便往后的我们很多操作;
    箭头4:选择开发语言,这里根据我们上课要求的语言进行选择,例如,学长上课学习的是使用java进行安卓开发,这里我们选择java,具体根据小可爱们上课所学习的语言进行选择哦;
    箭头5:我们需要将自己开发的手机app运行到自己的手机上进行调试,所以,我们得知道自己手机的安卓版本,由于学长自己专门用的一个调试手机,安卓版本较低,选择的7.11的,你们根据自己手机的安卓版本进行选择哈,避免后续遇到一些不可抗拒的问题;
    箭头6:这里,我们一定要勾选,此选项表示该项目可以提供手机下载,当然是需要勾选的啦,毕竟我们需要通过手机测试自己app的开发;如果不勾选,我们后面调试的时候可以看到,手机上面是下载不了app的;
    箭头7:点击完成,我们第一个安卓app的项目就建立好了。
    在这里插入图片描述
    4、项目创建好之后,我们等待下面红色箭头处的缓冲,当出现和下面一样的,表示我们可以在项目中进行java开发了。
    在这里插入图片描述
    以上就是我们创建新的安卓项目的全过程了,学弟学妹们觉得可以的话,记得给林君学长点个赞,有不懂的,可以和学长交流哦!

    (二)、在刚刚新创建的项目中,我们增加一个页面

    很多时候,我们需要开发的安卓项目,或者上课要求的作业中不止我们创建中生成的一个主页面,还有很多我们需要的其他页面,所以,这时候,我们就需要通过自己手动增加一个页面(activity)了,基本步骤如下:
    1、如下图所示:在layout的文件夹下面(专门用于存放我们的activity)点击右键(红色箭头1),选择新建(new,红色箭头2),接着选择Activity(红色箭头3),最后一步,选择Empty Activity(空页面,红色箭头4),步骤跟着下面红色箭头走哦!
    在这里插入图片描述
    2、上面第一步完成之后,我们进入创建的页面如下所示:
    在这里插入图片描述
    圈圈1:这个页面的名称是什么,我这里命名为other,表示另一个,同理,大家记得见名知意就好;
    圈圈2:这个我们不用管,让系统自动生成就好;
    圈圈3:圈圈3表示在项目中运行此页面,一般来说,我们不用勾选此选项,因为我们新增的页面应该是由其他页面的相关功能进行调用,例如MainActivity页面进行调用;但也有特殊情况,比如,你不想用MainActivity作为你app的主页面,同时又不想新建另一个项目,此时你可以勾选,但同时你得在配置文件AndroidMainifest中取消MainActivity的运行,后面给大家写博客说哈;
    圈圈4:默认;
    圈圈5:选择开发语言–java,大家自己选择自己上课学习的什么语言就选择什么语言;
    圈圈6:点击完成!
    在这里插入图片描述上面就是我们建立的新的activity。
    那么到这里呢,我们的新的activity就建立完成了,后面有需要更多的页面,和这个步骤一样建立就好,欢迎学弟学妹们给学长留言、评论、点赞、和相互交流哦!改掉不好的描述,带给大家更适合学习的博客!谢谢大家观看林君的本篇博客!

    展开全文
  • 创建一个基于 webpack 模板的项目要创建项目,首先我们要选定目录,然后再命令行中把目录转到选定的目录。可以使用:#my-project自定义项目 $ vue init webpack my-project初始化一个项目,或使用$ vue init ...

    创建一个基于 webpack 模板的新项目

    要创建项目,首先我们要选定目录,然后再命令行中把目录转到选定的目录。可以使用:

    #my-project为自定义项目名
    $ vue init webpack my-project

    初始化一个项目,或使用

    $ vue init webpack-simple my-project

    初始化一个简单的项目

    clipboard.png

    clipboard.png

    运行初始化命令的时候回让用户输入几个基本的选项,如项目名称,描述,作者等信息,如果不想填直接回车默认就好。

    clipboard.png

    需要注意的是项目的名称不能大写,不然会报错。

    Project name (my-project) # 项目名称(我的项目)

    Project description (A Vue.js project) # 项目描述一个Vue.js 项目

    Author 作者(你的名字)

    Install vue-router? (Y/n) # 是否安装Vue路由,也就是以后是spa(但页面应用需要的模块)

    Use ESLint to lint your code? (Y/n) # 使用 ESLint 到你的代码? (Y [ yes ] / N [ no ])

    Pick an ESLint preset (Use arrow keys) # 选择一个预置ESLint(使用箭头键)

    Setup unit tests with Karma + Mocha? (Y/n) # 设置单元测Karma + Mocha? (Y/ N)

    Setup e2e tests with Nightwatch? (Y/n) # 设置端到端测试,Nightwatch? (Y/ N)

    当然这些都看你自己个人的情况,我这里是全选了是。


    安装项目所需要的依赖

    刚初始化的项目是没有依赖的,如果运行会报类似这样的错误,

    clipboard.png

    所以在这之前需要解决项目的依赖问题,使用下面的命令安装项目的依赖。

    $ cnpm install

    如果出现如下图情况,说明依赖解决成功。

    clipboard.png


    运行项目

    $ cnpm run dev
    

    clipboard.png

    如果看到这个界面,说明配置成功

    展开全文
  • 它提供了一个在EVM里面创建新合约的方法。 看一下go-ethereum 源代码里面的opCreate 。这个指令调用evm.Create来创建合约: res, addr, returnGas, suberr := evm.Create(contract, input, gas, value) 我们在前面就...

    简介

    合约创建的方式和自我解压软件安装程序的工作方式比较类似。当安装程序运行时,它会配置系统环境,然后会从程序包中读取目标程序放入到系统中。

    • 在”安装时间“和”运行时间“之间有一个强制的分离。无法运行构造器两次
    • 智能合约可以使用相同的处理来创建其他的智能合约
    • 使用非Solidity语言实现会容易一点

    首先,我对”智能合约安装程序“的不同部分被打包到一起作为字节字符串data放在交易里感到很困惑:

    {
      "data": constructorCode + contractCode + auxdata + constructorData
    }
    

    data是如何被编码的,阅读文档中的eth_sendtransaction无法获得明显的答案。我一直都没弄明白构造器的参数是如何传递给交易的,直到有一个朋友告诉我它们被ABI进行编码之后附加到字节码的后面,才明白是怎么回事。

    另一个可以使它看起来更加清晰一点的替代设计也许就是将这些作为交易独立的属性进行发送:

    {
      // For "install time" bytecode
      "constructorCode": ...,
      // For "run time" bytecode
      "constructorBody": ...,
      // For encoding arguments
      "data": ...,
    }
    

    不过进行更多的思考,我认为交易对象简单化实际上是非常强大的。对于一个交易,data只是一个字节字符串,而且它不涉及数据是如何被解释的语言模型。通过让交易对象简单化,语言的实现者就有一个空白的画布进行设计和实验。确实,data在未来甚至可以被一个不同的虚拟机进行解释

    合约出生证明

    让我们创建一个简单(完全没用)的合约:

    pragma solidity ^0.4.11;
    contract C {
    }
    

    编译它:

    solc --bin --asm c.sol
    

    字节码是:

    60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a723058209747525da0f525f1132dde30c8276ec70c4786d4b08a798eda3c8314bf796cc30029
    

    为了创建这个合约,我们需要先通过发送一个eth_sendtransaction RPC请求给以太坊的节点来创建一个交易。你可以使用RemixMetamask来做这件事情。

    不管你使用什么开发工具,RPC调用的参数就差不多类似于:

    {
      "from": "0xbd04d16f09506e80d1fd1fd8d0c79afa49bd9976",
      "to": null,
      "gas": "68653", // 30400,
      "gasPrice": "1", // 10000000000000
      "data": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058204bf1accefb2526a5077bcdfeaeb8020162814272245a9741cc2fddd89191af1c0029"
    }
    

    没有什么特殊的RPC调用或交易类型来创建一个合约。相同的交易机制也被用于其他机制:

    • 转移Ether到一个账户或合约
    • 调用一个带参数的合约方法

    根据你指定的参数,以太坊会以不同方式解释交易。创建一个合约,to地址应该为null(或被忽略)。

    我用下面这个交易创建了一个合约例子:
    https://rinkeby.etherscan.io/tx/0x58f36e779950a23591aaad9e4c3c3ac105547f942f221471bf6ffce1d40f8401

    打开Etherscan,你应该可以看到该交易的输入数据就是Solidity编译器产生的字节码:

     

    当处理该交易的时候,EVM会将输入数据作为代码执行。瞧,一个合约就被创建了。

    字节码是干什么的?

    我们可以将上面的字节码分成3个独立的块:

    //部署代码
    60606040523415600e57600080fd5b5b603680601c6000396000f300
    //合约代码
    60606040525b600080fd00
    // Auxdata
    a165627a7a723058209747525da0f525f1132dde30c8276ec70c4786d4b08a798eda3c8314bf796cc30029
    
    • 创建合约时运行部署代码
    • 合约创建成功之后当它的方法被调用时,运行合约代码
    • (可选)Auxdata是源码的加密指纹,用来验证。这只是数据,永远不会被EVM执行

    部署代码有两个主要作用:

    1. 运行构造器函数,并设置初始化内存变量(就像合约的拥有者)
    2. 计算合约代码,并返回给EVM

    Solidity编译器产生的部署代码会从字节码中加载60606040525b600080fd00到内存中,然后将它作为合约代码返回。在这个例子中,“计算”只是读取一块数据到内存中。原则上,我们可以编程地产生合约代码。

    构造器到底做什么取决于语言,但是EVM语言最后会返回合约代码。

    合约创建

    那么当部署代码运行完并返回合约代码之后会发生什么?以太坊是如何从返回的合约代码中创建一个合约的?

    让我们一起深入的去了解一下源码,看看细节。

    我发现了Go-Ethereum 的实现方式是找到需要信息的最简单参考。我们得到了正确的变量名、静态类型信息和符号交叉引用。尝试超越这个,黄皮书!

    使用Sourcegraph(当鼠标停留在一个变量上的时候会有类型信息,非常好用)软件阅读的源码,找到的相关方法是evm.Create。让我们略读一下代码,忽略一些错误检查和过于详细的细节。从上到下:

    • 检测调用者是否拥有足够的余额来做转账
    if !evm.CanTransfer(evm.StateDB, caller.Address(), value) {
     return nil, common.Address{}, gas, ErrInsufficientBalance
    }
    
    • 从调用者的地址派生一个新合约的地址(通过创建者账户的 nonce传递):
    contractAddr = crypto.CreateAddress(caller.Address(), nonce)
    
    • 使用派生的合约地址来创建新合约账户(改变”世界状态“StateDB ):
    evm.StateDB.CreateAccount(contractAddr)
    
    • 将初始的Ether基金从调用者转到新合约中:
    evm.Transfer(evm.StateDB, caller.Address(), contractAddr, value)
    
    • 设置输入数据为合约的部署代码,然后使用EVM来执行。ret变量是返回的合约代码:
    contract := NewContract(caller, AccountRef(contractAddr), value, gas)
    contract.SetCallCode(&contractAddr, crypto.Keccak256Hash(code), code)
    ret, err = run(evm, snapshot, contract, nil)
    
    • 检查错误。或如果合约代码太长则会失败。收取用户的gas然后设置合约代码:
    if err == nil && !maxCodeSizeExceeded {
      createDataGas := uint64(len(ret)) * params.CreateDataGas
      if contract.UseGas(createDataGas) {
        evm.StateDB.SetCode(contractAddr, ret)
      } else {
        err = ErrCodeStoreOutOfGas
      }
    }
    

    部署代码的代码

    让我们来看看汇编代码的细节,看看当一个合约被创建的时候”部署代码“是如何返回”合约代码“的。我们将会再一次分析合约列子:

    pragma solidity ^0.4.11;
    contract C {
    }
    

    将该合约的字节码分成独立的块:

    // 部署代码
    60606040523415600e57600080fd5b5b603680601c6000396000f300
    //合约代码
    60606040525b600080fd00
    // Auxdata
    a165627a7a723058209747525da0f525f1132dde30c8276ec70c4786d4b08a798eda3c8314bf796cc30029
    

    部署代码的汇编代码是:

    // 为Solidity内部保留0x60个字节的内存
    mstore(0x40, 0x60)
    // 非支付合约。如果调用者发送ether就会归还
    jumpi(tag_1, iszero(callvalue))
    0x0
    dup1
    revert
    // 将合约代码拷贝到内存中并返回
    tag_1:
    tag_2:
      dataSize(sub_0)
      dup1
      dataOffset(sub_0)
      0x0
      codecopy
      0x0
      return
    stop
    

    为返回合约代码跟踪上面的汇编代码:

    // 60 36 (PUSH 0x36)
    dataSize(sub_0)
      stack: [0x36]
    dup1
      stack: [0x36 0x36]
    // 60 1c == (PUSH 0x1c)
    dataOffset(sub_0)
      stack: [0x1c 0x36 0x36]
    0x0
      stack: [0x0 0x1c 0x36 0x36]
    codecopy
      // 消耗三个参数
      // 将数据的 `length` 从`codeOffset` 拷贝到`memoryOffset`
      // memoryOffset = 0x0
      // codeOffset   = 0x1c
      // length       = 0x36
      stack: [0x36]
    0x0
      stack: [0x0 0x36]
      memory: [
        0x0:0x36 => calldata[0x1c:0x36]
      ]
    return
      // 消耗两个参数
      // 返回 `memoryOffset`中的数据`length` 
      // memoryOffset  = 0x0
      // length        = 0x36
      stack: []
      memory: [
        0x0:0x36 => calldata[0x1c:0x36]
      ]
    

    dataSize(sub_0)dataOffset(sub_0)实际上不是真正的指令。它们实际上是PUSH指令,将常量压入栈中。两个0x1C(28) 和0x36 (54) 常量指定一个字节码子字符串作为代码合约返回。

    部署代码的汇编代码大致对应于下面的Python3 代码:

    memory = []
    calldata = bytes.fromhex("60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a72305820b5090d937cf89f134d30e54dba87af4247461dd3390acf19d4010d61bfdd983a0029")
    size = 0x36   // dataSize(sub_0)
    offset = 0x1c // dataOffset(sub_0)
    // 将调用数据的子字符串拷贝到内存
    memory[0:size] = calldata[offset:offset+size]
    // 将内存的内容用十六进制打印出来而不返回
    print(bytes(memory[0:size]).hex())
    

    产生的内存内容是:

    60606040525b600080fd00
    a165627a7a72305820b5090d937cf89f134d30e54dba87af4247461dd3390acf19d4010d61bfdd983a0029
    

    对应的汇编代码(加上auxdata):

    // 6060604052600080fd00
    mstore(0x40, 0x60)
    tag_1:
      0x0
      dup1
      revert
    auxdata: 0xa165627a7a723058209747525da0f525f1132dde30c8276ec70c4786d4b08a798eda3c8314bf796cc30029
    

    再次看下Etherscan,这正是部署的合约代码:
    https://rinkeby.etherscan.io/address/0x2c7f561f1fc5c414c48d01e480fdaae2840b8aa2

    CODECOPY

    部署代码使用codecopy将交易的输入数据拷贝到内存。

    codecopy指令的行为和参数比其他的简单指令要复杂一点。如果我在黄皮书中查找这个指令,可能会更加的困惑一些。相反,让我们看看go-ethereum 源代码来研究一下到底怎么回事。

    func opCodeCopy(pc *uint64, evm *EVM, contract *Contract, memory *Memory, stack *Stack) ([]byte, error) {
     var (
      memOffset  = stack.pop()
      codeOffset = stack.pop()
      length     = stack.pop()
     )
     codeCopy := getDataBig(contract.Code, codeOffset, length)
     memory.Set(memOffset.Uint64(), length.Uint64(), codeCopy)
    evm.interpreter.intPool.put(memOffset, codeOffset, length)
     return nil, nil
    }
    

    没有难懂的字母!

    evm.interpreter.intPool.put(memOffset, codeOffset, length)这一行回收对象(大整数)后面使用。这只是一个高效的优化。

    构造器参数

    除了产生合约代码,部署代码的其他作用是运行构造器来进行设置。如果存在构造器参数,那么部署代码就需要从某地放加载参数。

    Solidity传递构造器参数的惯例是在调用eth_sendtransaction时在字节码末尾附加ABI编码的参数值。RPC调用将字节码和ABI编码参数放到一起作为输入数据进行传递,就像:

    {
      "from": "0xbd04d16f09506e80d1fd1fd8d0c79afa49bd9976"
      "data": hexencode(compiledByteCode + encodedParams),
    }
    

    有一个构造器参数的合约例子:

    pragma solidity ^0.4.11;
    contract C {
      uint256 a;
      function C(uint256 _a) {
        a = _a;
      }
    }
    

    我已经创建了这个合约,传递了66值。Etherscan上的交易:
    https://rinkeby.etherscan.io/tx/0x2f409d2e186883bd3319a8291a345ddbc1c0090f0d2e182a32c9e54b5e3fdbd8

    输入数据是:

    0x60606040523415600e57600080fd5b6040516020806073833981016040528080519060200190919050508060008190555050603580603e6000396000f3006060604052600080fd00a165627a7a7230582062a4d50871818ee0922255f5848ba4c7e4edc9b13c555984b91e7447d3bb0e7400290000000000000000000000000000000000000000000000000000000000000042
    

    我们可以在最后面看到构造器的参数,也就是66,但是作为ABI编码的32位字节就是:

    0000000000000000000000000000000000000000000000000000000000000042
    

    为了处理构造器里面的参数,部署代码从calldata中的结尾拷贝ABI参数到内存中,然后从内存中拷贝到栈中。

    创建合约的合约

    FooFactory合约可以通过调用makeNewFoo来创建一个新的Foo实例:

    pragma solidity ^0.4.11;
    contract Foo {
    }
    contract FooFactory {
      address fooInstance;
      function makeNewFoo() {
        fooInstance = new Foo();
      }
    }
    

    这个合约完整的汇编代码在Gist里。编译器输出的结构更加的复杂,因为这里有两套”安装时间“和”运行时间“的字节码。就像这样组织的:

    FooFactoryDeployCode
    FooFactoryContractCode
      FooDeployCode
      FooContractCode
      FooAUXData
    FooFactoryAUXData
    

    FooFactoryContractCode本质就是为tag_8Foo拷贝字节码然后跳转回tag_7去执行create指令。

    create指令就像eth_sendtransactionRPC调用。它提供了一个在EVM里面创建新合约的方法。

    看一下go-ethereum 源代码里面的opCreate 。这个指令调用evm.Create来创建合约:

    res, addr, returnGas, suberr := evm.Create(contract, input, gas, value)
    

    我们在前面就已经看见了evm.Create,但是这次的调用者是一个智能合约而不是人类。

    AUXDATA

    如果你想要完全的理解auxdata是什么,那么可以阅读 合约元数据。它的要点就是auxdata是一个哈希值,你可以使用它来抓取部署合约的元数据。

    auxdata的格式就是:

    0xa1 0x65 'b' 'z' 'z' 'r' '0' 0x58 0x20 <32 bytes swarm hash> 0x00 0x29`
    

    解构我们之前看到过的auxdata字节序列:

    a1 65
    // b z z r 0 (ASCII)
    62 7a 7a 72 30
    58 20
    // 32 bytes hash
    62a4d50871818ee0922255f5848ba4c7e4edc9b13c555984b91e7447d3bb0e74
    00 29
    

    展开全文
  • 【SpringBoot】一、创建一个SpringBoot项目

    万次阅读 多人点赞 2019-08-04 21:59:48
    创建SpringBoot项目可以通过两种方式,1、通过访问:https://start.spring.io/,SpringBoot的官方网站进行创建SpringBoot项目;2、通过工具(例如:Idea)创建...选择Create New Poject(创建一个新的项目) ...
  •   通过建立正文、标题、表格等的段落样式可以方便的统一调整文章各部分样式类型。点击样式栏右下角的小三角可以弹出样式对话框,执行新建、管理、...然后设置论文级、二级、三级、四级标题样式,分别命名论文章...
  • Linux 用root账号创建一个新的登录账号
  • 1.在SQL Server Management Studio中为所属的SQL服务器设置SQL Server和Windows NT混合安全认证模式。其步骤如下: (1) 在对象资源管理器中,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,...
  • Cocos2D-X学习3:创建一个新的场景

    千次阅读 2016-10-12 21:31:59
    首先使用cocos-console创建一个项目工程,在命令行窗口下输入cocos new -p CocosProject01 -l cpp -d D:\cocos2d-x-3.3\test\ ...右击该项目,选择增加-类,创建一个名为MyScene的类,如下图 注意,虽然MyS
  • Linux下如何手动创建一个帐户

    千次阅读 2017-08-21 22:49:01
    如何在Linux下手动创建一个帐户 手动创建一个帐户需要分为以下几个步骤: 添加用户账户基本组添加账户信息添加账户密码复制家目录修改家目录权限创建账户完成,进行登录测试 以下给出详细操作步骤:  这里...
  • keil4 如何创建一个新的工程。

    千次阅读 2017-03-19 11:50:07
     1、32学习文件夹下创建一个code文件夹 用于存放所有的代码还有库函数内容等等 ,32的官方库存在于code下。  2、在code下创建三个文件及 分别是 lib(库代码)reg(寄存器)stm32lib(官方库函数)  3、reg下...
  • (C#)用代码创建一个新按钮myButton

    千次阅读 2014-09-03 10:00:37
    (C#)用代码创建一个新按钮myButton   * 要点:  * 如何用代码创建一个新按钮,并设置常用的属性  * 为新按钮添加一个Click事件(注册监听程序) //参见“事件”  * MessageBox.Show(); 转义符...
  • 创建一个新的Angular组件,并将它展示出来 ...在命令行中(注意要切换都项目路径下,如使用Webstorm在下方的Terminal中直接输入命令即可)使用 Angular CLI 创建一个名为 heroes 的组件。 ng generate co...
  • ArcMap无法创建新样式,或将符号添加到样式
  • 创建一个ssh空文件

    千次阅读 2019-11-07 17:15:14
    网上的一种方法是用电脑在树莓派的SD卡中创建一个名为ssh的空文件。但是对于创建ssh空文件的方法,有好多根本不好用,我将一个我亲测有效的方法写下来供大家参考。 具体步骤 打开cmd。Windows+R快捷键打开,或在...
  • 设计一个只能创建一个唯一实例的类——单例模式 1. 背景  老师布置了一个思考题:设计一个只能创建一个唯一实例的类。让我们只要想一下思路即可。自己的第一反应就是设计模式中的单例模式。自己百度了一下单例...
  • 构造方法: 一种特殊的,与类同名的方法,专门用于创建对象,完成对象的初始化。... 在创建一个类的对象同时,系统会自动调用该类的构造方法为新对象初始化。 创建一个Person类 class Person { S...
  • 用Django创建一个简单网页

    千次阅读 2018-03-30 16:29:52
    ---首先新建一个新项目:---在这里命名工程的名字---在右侧的齿轮处选择create创建虚拟环境,命名后勾选inherit global site-packages---在application name处写上自己的app名字,并勾选管理者选项,点击创建。...
  • 创建一个简单的WCF

    千次阅读 2017-05-12 14:43:41
    创建一个简单 易懂的WCF程序,
  • 创建一个Spring Boot项目

    万次阅读 2019-05-27 17:27:20
    文章目录Spring Boot的功能Spring Boot的优点Spring Boot 的三种创建方式在线创建使用开发工具创建IntelliJ IDEAMaven 创建项目结构 不需要再配置静态文件过滤器了 ,只要放在resources目录下即可 Spring Boot的功能...
  • 如何使用Dev C++创建一个项目

    千次阅读 多人点赞 2020-10-16 17:44:15
    如何使用Dev C++创建一个项目 Dev C++是 Windows 环境下的一个轻量级 C/C++ 集成开发环境(IDE)。非常适合初学者使用,接...4.接下来会弹出一个窗口,选择图中蓝色的图标,然后选择你需要创建的项目,修改项目,点
  • 创建一个类Student

    千次阅读 2017-10-11 21:25:52
    package fgh;public class Student {//创建类Student String name;//数据类型的定义 String sex; int age; public Student()//定义无参构造 { name="张雪"; sex="女
  • 下面的一段转载自:http://blog.sina.com.cn/s/blog_71dbc27f01017mnj.html下面是快速创建一个新线程的方法:第一种:直接创建子线程并启动 new Thread() {@Overridepublic void run() { //这里写入子线程需要做的...
  • 把 Nginx 创建为 Windows 的一个服务

    万次阅读 热门讨论 2012-08-25 06:15:59
    译序:Nginx 不是 Windows 而...如何把 Nginx 创建为 Windows 的一个服务呢?百度一下,搜索结果的前几页基本都是同一篇文章,只是网址不同作者不同。根本分不清谁是原创,谁是转载。我想,如果先写那篇文章的人搞错
  • 在用IDEA编程创建一个新的文件时自动产生的user名字怎么自定义? 一、文档注释(设置后创建新文件自动生成如下文件注释): 二、设置方式(如下图)调出设置选项快捷键 Ctrl+Alt+s
  • 在本次Flex指南中,让我们看看如何在... 创建一个新的Flex项目名为AnimatedCursor,设置主MXML应用程序名为Main.mxml。 2.我们的自定义光标是一个swf文件,因此请打开Flash来创建自己的自定义光标。帧率设置适应Flex
  • 如何创建一个Mysql数据库

    千次阅读 2015-03-29 23:06:43
    如何创建一个Mysql数据库 今天有一个问题弄了一天,没知识就是可怕呀! 一,创建mysql数据库的问题: windows下运行cmd命令进入命令窗口。 通过以下命令改变目录: cd \program files\xampp\mysql\bin ...
  • 众所周知,Java的默认窗口使用的是系统默认样式,那么我们如何自己定义样式使其更好看呢?下面我就来分享一下如何自定义样式。 效果: 首先准备好我们的背景,按钮贴图: ... // 创建一个名为bac...
  • 创建一个HttpResponse对象

    万次阅读 2010-05-03 10:12:00
    创建一个HttpResponse对象 HttpResponse类实现了javax.servlet.http.HttpServletResponse。跟随它的是一个叫做HttpResponseFacade的façade类。Figure 3.3显示了HttpResponse类和它的相关类的UML图。 在第2章中,你...
  • CrossApp创建工程的方法与C

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,510,919
精华内容 604,367
关键字:

创建一个名为什么的新样式