源代码

阅读 / 问答 / 标签

急求一个稀疏矩阵运算器的源代码(C语言版的)..能运行..用于课程设计

我也手痒,写了一个,不过我想不通楼上的为什么那么麻烦,这个代码很简单的文件从工程目录下的input.txt读取,存入到工程目录下的output.txt里import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class baidu_6 { public static void main(String[] args) { int intR,intA=0,inta=0,intC=0,intN=0; try { FileInputStream fisIn=new FileInputStream("./input.txt");

randomize()源代码是什么

我知道C语言的随机数,Randomize应该是初始化随机函数吧,源代码可能很简单seed = i;其中i可能是当前系统时间,或者是快速变化着的CPU时钟,只要你想得到是可以的,都可以当做iseed就是随机种子,不同的种子种下之后,理论上就可以产生不同的果实(随机数列)而rand () (在C中的随机数)其实也复杂不到那里去,毕竟是伪随机数。它采用一种叫做线性同余法的方法生成随机数的。实际上就是这个递推公式Xn+1 = (AXn + B) mod Mmod就是求余(求模)的意思,也就是第二个随机数是根据第一个生成出来的,所以为什么第一个叫种子就不难理解了。M是周期(T = M - 1)的重要标志,M越大周期就越长,如果不想随机数经常重复就把它设置大一点吧。A和B都是常量,M是素数(质数),A则是M的原根如果不知道这些是什么,那我给出我试过的一组数吧M = 32719 A = 2B = 17效果还可以,毕竟是伪随机数吧,不能要求太高,一下是我用C语言的实现#include <stdio.h>#include <windows.h>// Global variableint seed = 0;// Initialize the Seedvoid Srand ( int inSeed ){ seed = inSeed;}// Random Arithmeticint Random ( void ){ const unsigned int m = 32719; const int a = 2; const int b = 17; seed = (seed*a + b)%m; return seed;}// CPU clockint Clock ( void ){ _asm { RDTSC }}int main ( void ){ int inSeed; int randNumber; int count0 = 0, count1 = 0; printf ( "Please type the initial seed 0 for default " ); scanf ( "%d", &inSeed ); if ( inSeed != 0 ) Srand ( inSeed ); else Srand ( Clock () ); for ( int i = 0; i < 1000; i++ ) { randNumber = Random () % 2; printf ( "%d ", randNumber ); if ( randNumber == 0 ) count0++; else count1++; } printf ( "output 0 : %d ", count0 ); printf ( "output 1 : %d ", count1 ); system ( "pause" ); return 0;}如果不明白,用百度HI我吧

Live555 源代码分析(五)

下图展示主程序中涉及的主要概念与实体。 MediaServer是服务器的抽象。 ClientConnection是与客户端的数据连接的抽象。 MediaSession是媒体的抽象。 媒体中可以有多个通道,MediaSubsession是媒体通道的抽象。 ClientSession是与客户端的对话的抽象,承载在ClientConnection上。 StreamState是ClientSession用于挂接到MediaSubsession的中介。 Main()创建任务调度器,创建RTSPServer实例,将它的socket置于调度器的监听下,最后运行调度器,处理socket事件。 GenericMediaServer::setUpOurSocket()创建TCP socket。 当有新的数据连接请求时,GenericMediaServer::incomingConnectionHandler()被调用。其中调用incomingConnectionHandlerOnSocket(),参数是成员fServerSocket。 在createNewClientConnection()中, 当数据连接有数据到达时,ClientConnection::incomingRequestHandler()被调用。 OPTIONS的请求字符串如下: 调用handleCmd_OPTIONS()处理。 DESCRIBE的请求字符串如下: 调用handleCmd_DESCRIBE()处理。 如下是DESCRIBE请求的回复字符串。 DynamicRTSPServer::lookupServerMediaSessin()根据key值,在GenericMediaServer的成员fSerMediaSessions中查找对应的实例。fServerMediaSessesions是一个Hash表。这里的key值是文件名“jzl.mp3”。 在全局函数createSMS()中, OnDemandServerMediaSubsession::sdpLines()得到子session的sdp字符串。 SETUP的请求字符串如下。它请求jzl.mp3文件的通道track1。 这里先调用createNewClientSessionWithId()创建ClientSession实例,再调用handleCmd_SETUP()处理。注意这里的handleCmd_SETUP()从属于RTSPClientSession(是它的成员函数),而前面的handleCmd_DESCRIBE()从属于RTSPClientConnection。 createNewClientSessionWithId()实现如下: RTSPClientSession::handleCmd_SETUP()的实现如下。 以下是handleCmd_SETUP()的回复字符串。它的传输头部指定了收发两端的地址和端口,同时还指定了Session编号0x4F1FB7E7。 getStreamParameters()创建数据通道。 PLAY的请求字符串如下。它请求jzl.mp3文件,ClientSession的编号是0xC47271EC。 这个session在之前处理SETUP请求时已经创建了。这里先用它查询先前创建的ClientSession实例,再调用RTSPClientSession::handleCmd_PLAY()。 RTSPClientSession::handleCmd_PLAY()的实现如下。 OnDemandServerMediaSubsession::seekStream()的工作如下: OnDemandServrMediaSubsession::startStream()的工作如下: 以下是handleCmd_PLAY()的回复字符串。 如下是最后得到的连接图。

java 求高手帮助 在界面上给出两个或者多个点(坐标) 点击按钮 在每两个点之间出现一个点 求源代码 谢谢

这是我写的一个简单的效果,效果如图,点击update按钮会随机生成两点之间的坐标按钮,楼下的还不错,可采纳:

扫雷java源代码

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Frame extends JFrame { JTextField text; JLabel nowBomb, setBomb; int BombNum, BlockNum; // 当前雷数,当前方块数 int rightBomb, restBomb, restBlock; // 找到的地雷数,剩余雷数,剩余方块数 JButton start = new JButton(" 开始 "); JPanel MenuPamel = new JPanel(); JPanel bombPanel = new JPanel(); Bomb[][] bombButton; JPanel c; BorderLayout borderLayout1 = new BorderLayout(); GridLayout gridLayout1 = new GridLayout(); public Frame() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch (Exception exception) { exception.printStackTrace(); } }private void jbInit() throws Exception { c = (JPanel) getContentPane(); setTitle("扫雷"); c.setBackground(Color.WHITE); MenuPamel.setBackground(Color.GRAY); c.setLayout(borderLayout1); setSize(new Dimension(600, 600)); setResizable(false); BlockNum = 144; BombNum = 10; text = new JTextField("10 ", 3); nowBomb = new JLabel("当前雷数" + ":" + BombNum); setBomb = new JLabel("设置地雷数"); start.addActionListener(new Frame1_start_actionAdapter(this)); MenuPamel.add(setBomb); MenuPamel.add(text); MenuPamel.add(start); MenuPamel.add(nowBomb); c.add(MenuPamel, java.awt.BorderLayout.SOUTH); bombPanel.setLayout(gridLayout1); gridLayout1.setColumns( (int) Math.sqrt(BlockNum)); gridLayout1.setRows( (int) Math.sqrt(BlockNum)); bombButton = new Bomb[ (int) Math.sqrt(BlockNum)][ (int) Math.sqrt(BlockNum)]; for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { bombButton[i][j] = new Bomb(i, j); //bombButton[i][j].setSize(10, 10); bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//设置字体大小 bombButton[i][j].setForeground(Color.white); bombButton[i][j].addMouseListener(new Bomb_mouseAdapter(this)); bombButton[i][j].addActionListener(new Bomb_actionAdapter(this)); bombPanel.add(bombButton[i][j]); } } c.add(bombPanel, java.awt.BorderLayout.CENTER); startBomb(); } /* 开始按钮 */ public void start_actionPerformed(ActionEvent e) { int num=Integer.parseInt(text.getText().trim()); if (num >= 5 && num < 50) { BombNum = num; startBomb(); } else if (num < 5) { JOptionPane.showMessageDialog(null, "您设置的地雷数太少了,请重设!", "错误", JOptionPane.ERROR_MESSAGE); num=10; BombNum = num; } else { JOptionPane.showMessageDialog(null, "您设置的地雷数太多了,请重设!", "错误", JOptionPane.ERROR_MESSAGE); num=10; BombNum = num; } } /* 开始,布雷 */ public void startBomb() { nowBomb.setText("当前雷数" + ":" + BombNum); for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { bombButton[i][j].isBomb = false; bombButton[i][j].isClicked = false; bombButton[i][j].isRight = false; bombButton[i][j].BombFlag = 0; bombButton[i][j].BombRoundCount = 9; bombButton[i][j].setEnabled(true); bombButton[i][j].setText(""); bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//设置字体大小 bombButton[i][j].setForeground(Color.BLUE); rightBomb = 0; restBomb = BombNum; restBlock = BlockNum - BombNum; } } for (int i = 0; i < BombNum; ) { int x = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1)); int y = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1)); if (bombButton[x][y].isBomb != true) { bombButton[x][y].isBomb = true; i++; } } CountRoundBomb(); } /* 计算方块周围雷数 */ public void CountRoundBomb() { for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { int count = 0; // 当需要检测的单元格本身无地雷的情况下,统计周围的地雷个数 if (bombButton[i][j].isBomb != true) { for (int x = i - 1; x < i + 2; x++) { for (int y = j - 1; y < j + 2; y++) { if ( (x >= 0) && (y >= 0) && (x < ( (int) Math.sqrt(BlockNum))) && (y < ( (int) Math.sqrt(BlockNum)))) { if (bombButton[x][y].isBomb == true) { count++; } } } } bombButton[i][j].BombRoundCount = count; } } } } /* 是否挖完了所有的雷 */ public void isWin() { restBlock = BlockNum - BombNum; for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { if (bombButton[i][j].isClicked == true) { restBlock--; } } } if (rightBomb == BombNum || restBlock == 0) { JOptionPane.showMessageDialog(this, "您挖完了所有的雷,您胜利了!", "胜利", JOptionPane.INFORMATION_MESSAGE); startBomb(); } } /** 当选中的位置为空,则翻开周围的地图* */ public void isNull(Bomb ClickedButton) { int i, j; i = ClickedButton.num_x; j = ClickedButton.num_y; for (int x = i - 1; x < i + 2; x++) { for (int y = j - 1; y < j + 2; y++) { if ( ( (x != i) || (y != j)) && (x >= 0) && (y >= 0) && (x < ( (int) Math.sqrt(BlockNum))) && (y < ( (int) Math.sqrt(BlockNum)))) { if (bombButton[x][y].isBomb == false && bombButton[x][y].isClicked == false && bombButton[x][y].isRight == false) { turn(bombButton[x][y]); } } } } } /* 翻开 */ public void turn(Bomb ClickedButton) { ClickedButton.setEnabled(false); ClickedButton.isClicked = true; if (ClickedButton.BombRoundCount > 0) { ClickedButton.setText(ClickedButton.BombRoundCount + ""); } else { isNull(ClickedButton); } } /* 左键点击 */ public void actionPerformed(ActionEvent e) { if ( ( (Bomb) e.getSource()).isClicked == false && ( (Bomb) e.getSource()).isRight == false) { if ( ( (Bomb) e.getSource()).isBomb == false) { turn( ( (Bomb) e.getSource())); isWin(); } else { for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { if (bombButton[i][j].isBomb == true) { bombButton[i][j].setText("b"); } } } ( (Bomb) e.getSource()).setForeground(Color.RED); ( (Bomb) e.getSource()).setFont(new Font("", Font.BOLD, 20)); ( (Bomb) e.getSource()).setText("X"); JOptionPane.showMessageDialog(this, "你踩到地雷了,按确定重来", "踩到地雷", 2); startBomb(); } } } /* 右键点击 */ public void mouseClicked(MouseEvent e) { Bomb bombSource = (Bomb) e.getSource(); boolean right = SwingUtilities.isRightMouseButton(e); if ( (right == true) && (bombSource.isClicked == false)) { bombSource.BombFlag = (bombSource.BombFlag + 1) % 3; if (bombSource.BombFlag == 1) { if (restBomb > 0) { bombSource.setForeground(Color.RED); bombSource.setText("F"); bombSource.isRight = true; restBomb--; } else { bombSource.BombFlag = 0; } } else if (bombSource.BombFlag == 2) { restBomb++; bombSource.setText("Q"); bombSource.isRight = false; } else { bombSource.setText(""); } if (bombSource.isBomb == true) { if (bombSource.BombFlag == 1) { rightBomb++; } else if (bombSource.BombFlag == 2) { rightBomb--; } } nowBomb.setText("当前雷数" + ":" + restBomb); isWin(); } } public static void main(String[] args) { Frame frame = new Frame(); frame.setVisible(true); }}class Frame1_start_actionAdapter implements ActionListener { private Frame adaptee; Frame1_start_actionAdapter(Frame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.start_actionPerformed(e); }}////////////////////////////class Bomb extends JButton { int num_x, num_y; // 第几号方块 int BombRoundCount; // 周围雷数 boolean isBomb; // 是否为雷 boolean isClicked; // 是否被点击 int BombFlag; // 探雷标记 boolean isRight; // 是否点击右键 public Bomb(int x, int y) { num_x = x; num_y = y; BombFlag = 0; BombRoundCount = 9; isBomb = false; isClicked = false; isRight = false; }}class Bomb_actionAdapter implements ActionListener { private Frame adaptee; Bomb_actionAdapter(Frame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.actionPerformed(e); }}class Bomb_mouseAdapter extends MouseAdapter { private Frame adaptee; Bomb_mouseAdapter(Frame adaptee) { this.adaptee = adaptee; } public void mouseClicked(MouseEvent e) { adaptee.mouseClicked(e); }}

如何将源代码编译成jar包

  先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么:     用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...     选项:     -c 创建新的存档  -t 列出存档内容的列表  -x 展开存档中的命名的(或所有的〕文件  -u 更新已存在的存档  -v 生成详细输出到标准输出上  -f 指定存档文件名  -m 包含来自标明文件的标明信息  -0 只存储方式;未用zip压缩格式  -M 不产生所有项的清单(manifest〕文件  -i 为指定的jar文件产生索引信息  -C 改变到指定的目录,并且包含下列文件:    如果一个文件名是一个目录,它将被递归处理。     清单(manifest〕文件名和存档文件名都需要被指定,按"m" 和 "f"标志指定的相同顺序。首先在资源文件当前目录写一个清单文件example.mf mf文件应是以下格式: 第一行为: Main-Class: Hello 然后最少两个空行。 其中的Hello.class是你写的程序中main函数所在的那个类名。 有两点必须记得: 1,在第一行中"Main-class:"之后一定要有一个空格。后有最少两个空行 2,类名不能写成Hello.class的格式,要省了后辍。 我试过了,你错的原因是"Main-class:"之后没有一个空格。 在CLASS目录下运行:jar cfm example.jar example.mf A.class B.class  示例1:将两个class文件存档到一个名为 "classes.jar" 的存档文件中:   jar cvf classes.jar Foo.class Bar.class     示例2:用一个存在的清单(manifest)文件 "mymanifest" 将 foo/ 目录下的所有文件存档到一个名为 "classes.jar" 的存档文件中:  jar cvfm classes.jar mymanifest -C foo/ .     来个小例子试试看:  我们只有一个HelloWorld,如下:     public class HelloWorld{   public static void main(String[ ] args){   System.out.println("Hi, Hello World!");   }   }     将这个java文件存到C盘跟目录下,ok,接下来,     在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错 hello.jar 。  基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar后面的参数的不同,结果有什么变化。      紧接着我们看看如何运行我们的jar包。     在进入正题之前,你要先打开我们刚刚做好的jar包看看,多了什么呢,META-INF目录?再看看里面是什么,还有一个MANIFEST.MF文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看:  Manifest-Version: 1.0   Created-By: 1.4.2 (Sun Microsystems Inc.)     就是这样。这里我们对它进行修改,加一句:Main-Class: HelloWorld (在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即,  Manifest-Version: 1.0   Created-By: 1.4.2 (Sun Microsystems Inc.)   Main-Class: HelloWorld    接下来,我们在命令提示符里执行:  jar umf MANIFEST.MF app.jar  (应该是hello.jar吧)   这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新。你不妨可以再进去看看是不是添上了Main-Class: HelloWorld这一句。    (是吗,我怎么没试出来,提示java.io.FileNotFoundException:MANIFEST.MF(系统找不到指定的文件)怎么回事?)Ok,这个最后的一步了,来验证我们做的一切,在命令提示符中输入:  java -jar hello.jar(执行)     出现了什么, Hi, Hello World!    我们再来看看jar文件在tomcat中发布,注意:在tomcat中我们就不能再用jar这种格式,而改war格式,它是专门用于web应用的,其实整个过程下来基本上和jar是类似的:   先准备我们要打包的资源。     找到存放tomcat的webapps目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建WEB-INF文件夹,再进去新建 classes文件夹,此时我们也将我们唯一的servlet,HelloWorld.java放到这里,在与classes目录同级下建立一文件 web.xml。Ok,目前我们初步建立了一个简单的web应用。    这是HelloWorld.java:     import java.io.*;   import javax.servlet.*;   import javax.servlet.http.*;   public class HelloWorld extends HttpServlet {   public void doGet(HttpServletRequest req, HttpServletResponse res)   throws ServletException, IOException {   res.setContentType("text/html");   PrintWriter out = res.getWriter();   out.println("");   out.println("");   out.println("");   out.println("Hello, World!");   out.println("");   }   }//end here!    对它编译。下面是web.xml:  <?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  <web-app>  <servlet>  <servlet-name>hello</servlet-name>  <servlet-class>HelloWorld</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>hello</servlet-name>  <url-pattern>/HelloWorld</url-pattern>  </servlet-mapping>  </web-app>在命令提示符下进到先前创制的hello目录下,执行 jar cvf hello.war * ,我们便得到hello.war。将它拷贝至webapps目录下,ok,来看最后一步,打开tomcat的目录conf中的server.xml,加入:  <Context path="/hello" docBase="hello.war" debug="0" reloadable="true"/>  大功告成!运行它,启动tomcat,后在浏览器中输入http://localhost:8080/hello/HelloWorld,有了吗?   最后,如果你想用ant来完成以上的打包活动,下面就告诉你:  对于jar来说。在build.xml中,  <target name="jar">  <jar destfile="${app_home}/hello.jar">  <fileset dir="${dest}" includes="**"/>  <!--fileset dir="${dest}" includes="**/action.properties"/-->  </jar>  </target>    对于war,     <war warfile="hello.war" webxml="./WEB-INF/web.xml">  <fileset dir="html"/>  <lib dir="lib/">  <exclude name="oracle*.jar"/>  </lib>  <classes dir="build/servlets">  <include name="**/*.class"/>  </classes>  </war>    好了,就这么多,希望对你有点帮助。:)  补充:   jar基本操作:     1. 创建jar文件     jar cf jar-file input-file(s)   c---want to Create a JAR file.   f---want the output to go to a file rather than to stdout.   eg: 1)jar cf myjar.jar query_maintain_insert.htm   2)jar cvf myjar.jar query_maintain_insert.htm   v---Produces verbose(详细的) output.  3)jar cvf myjar.jar query_maintain_insert.htm mydirectory   4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory   0---don"t want the JAR file to be compressed.   5)jar cmf MANIFEST.MF myjar.jar yahh.txt   m---Used to include manifest information from an existing manifest file.   6)jar cMf MANIFEST.MF myjar.jar yahh.txt   M---the default manifest file should not be produced.   7)jar cvf myjar.jar *   *---create all contents in current directory.    2. 察看jar文件      jar tf jar-file   t---want to view the Table of contents of the JAR file.   eg: 1)jar vft yahh.jar   v---Produces verbose(详细的) output.    3. 提取jar文件     jar xf jar-file [archived-file(s)]   x---want to extract files from the JAR archive.   eg: 1)jar xf yahh.jar yahh.txt(仅提取文件yahh.txt)  2)jar xf yahh.jar alex/yahhalex.txt(仅提取目录alex下的文件yahhalex.txt)    3)jar xf yahh.jar(提取该jar包中的所有文件或目录)    4. 修改Manifest文件     jar cmf manifest-addition jar-file input-file(s)   m---Used to include manifest information from an existing manifest file.    5. 更新jar文件     jar uf jar-file input-file(s)   u---want to update an existing JAR file

华为又双叒叕出大招·Harmony OS源代码捐献给开放原子开源基金会

前不久,华为在心声社区发布一则由华为轮值董事长徐直军签发的,关于规范HarmonyOS(鸿蒙)沟通口径的通知。 ——华为的这一举动,直接打脸那些对华为鸿蒙OS操作系统热燥冷奉的人,让他们亲自去看一看哪些源代码,是不是抄习谷歌安卓的?! 其实华为捐鸿蒙源代码的真正目的,不是上述所谓,而是在布局一个更大的生态系统,就是以华为鸿蒙OS操作系统为班底的5G移动互联网加持的物联网生态圈。 借着中国制造业的优势,华为可以把鸿蒙os操作系统,免费给那些新能源 汽车 生产商、白家电、小家电,给物流行业,甚至给工业生产线等等友商使用,让那些产品装上互联互通的智能神经线,让身边万物都有感知的、能互动的串联/并联起来。 一旦华为这个万物互联的生态圈打造起来,谷歌、苹果那些原来占着霸主地位的巨头们,就难以撼动华为了。这就是谷歌、苹果急吼吼的抄华为作业,也想推出他们自己的物联网操作系统的根本原因。 华为正是有这种超前的眼光,布局未来,把自己辛辛苦苦花了近十年时间开发出来的智能终端操作系统底层源代码,以打包成OpenHarmony的形式,全部捐献给开放原子开源基金会。这种心胸,这种能力,不是一般公司能做出来的。 华为形成了OpenHarmony开源项目,广纳全球苦谷歌、苹果独霸移动互联网操作系统太久的有识之士和有志之士,参与OpenHarmony开源项目共建,打造一个不受美国控制的物联网生态圈。 抛开上述的意识形态(其实科学无国界就是个谬论),全球有兴趣、有需要的组织和个人,都可参与OpenHarmony开源项目。 迄今为止,据华为官方统计,已有245位贡献者,华为一直默默的支持着他们,且将持续加大对全球开发者的支持。 OpenHarmony开源项目,是不受华为控制的项目,它受开放原子开源基金会TOC 控制(TOC作为中立的技术决策机构存在,负责基金会技术相关的决策,以及项目孵化评审等)。从这点上,就可以让其他友商放心。 而开放原子开源基金会,是由民政部登记、工业和信息化部主管的基金会。该基金会不受华为控制。 . 华为刚刚正式发布的HarmonyOS 2.0版,与华为捐献到开放原子开源基金会形成的关系,就像一栋大楼,是装修好的大楼与框架大楼的关系。华为鸿蒙os操作系统2.0版本,是一座装修好的大楼;而OpenHarmony开源项目,就是一个只有框架的毛坯大楼。 华为把源代码捐献给开放原子开源基金会,形成的OpenHarmony开源项目,类似于现在安卓原生操作系统,为的是吸引全世界的“码农”粉丝。 华为手机原来用的EMUI,是基于安卓原生操作系统,由华为深度开发出来的。无论是华为,还是小米、OPPO,都可以基于OpenHarmony开源项目开发自己的操作系统,就像华为的EMUI与小米的MIUI,大家的实力都差不多。 就目前来看,华为的鸿蒙os操作系统,实力超群,其他有商要抄作业,还得花两三年以上的时间。

非递归预测分析程序实现语法分析 源代码

越哥,我来答啦,分给我吧O(∩_∩)O哈哈~/* 1 E →TE′ 2 E′ →+TE` 3 E′ →ε 4 T → FT′ 5 T′ → * FT′ 6 T′ →ε 7 F →(E) 8 F →id FIRST(E) = FIRST(T) = FIRST(F) = { ( , id }FIRST(E′) = {+, ε}FRIST(T′) = {*, ε}FOLLOW(E) = FOLLOW(E′) = { ), $}FOLLOW(T) = FOLLOW (T′) = { +, ), $}FOLLOW(F) = {+, *, ), $} */#include <stdio.h>#include <tchar.h>#include <string.h>int main(int argc, char* argv[]){ char syn[15]; //语法栈 int top; //栈顶指针 char lookahead; //当前单词 char exp[50]; //表达式区 int m =0; //表达式指针 char s[4][5]={"id","+","*","("}; //表中有空白的符号 char string[3]={"E","T","F"}; //表中有同步记号的的非终结符 int ll1[7][6]={ {1,0,0,1,9,9}, //LL(1)分析表,9表示同步记号,第6行是#,第7行是) {0,2,0,0,3,3}, {4,9,0,4,9,9}, {0,6,5,0,6,6}, {8,9,9,7,9,9}, {12,12,12,12,12,10}, {13,13,13,13,11,13}}; int i,j; //表行和列 int code; //表项 printf("******************语法分析器******************** "); printf("please input your expression: "); scanf("%s",exp); top=1; lookahead=exp[m++]; syn[0]="#"; syn[1]="E"; while(1) { switch(syn[top]) //行 { case "E":i=0;break; case "e":i=1;break; case "T":i=2;break; case "t":i=3;break; case "F":i=4;break; case "#":i=5;break; case ")":i=6;break; } switch(lookahead) //列 { case "i":j=0;break; case "+":j=1;break; case "*":j=2;break; case "(":j=3;break; case ")":j=4;break; case "#":j=5;break; } code=ll1[i][j]; if(code==10) { printf("语法分析结束 "); break;} else { switch(code) { case 0: { printf("出错,用户多输入了%s,跳过%s ",s[j],s[j]); if(j==0) {lookahead=exp[m++];<br> lookahead=exp[m++];} else lookahead=exp[m++]; break; } case 1:{printf("E →TE′ ");syn[top]="e";syn[top+1]="T";top++;break;} case 2:{printf("E′ →+TE` ");syn[top+1]="T";top++;lookahead=exp[m++];break;} case 3:{printf("E′ →ε ");syn[top]="";top--;break;} case 4:{printf("T → FT′ ");syn[top]="t";syn[top+1]="F";top++;break;} case 5:{printf("T′ → * FT′ ");syn[top+1]="F";top++;lookahead=exp[m++];break;} case 6:{printf("T′ →ε ");syn[top]="";top--;break;} case 7:{printf("F →(E) ");syn[top]=")";syn[top+1]="E";top++;lookahead=exp[m++];break;} case 8:{printf("F →id ");syn[top]="";top--;lookahead=exp[m++];lookahead=exp[m++];break;} case 9:{printf("弹栈,弹出非终结符%c,用户少输入了一个id ",string[i/2]);syn[top]="";top--;break;} case 11:{syn[top]="";top--;lookahead=exp[m++];break;} case 13:{printf("弹栈,弹出终结符 ) ,用户少输入了一个右括号 ");syn[top]="";top--;break;} } } } return 0;}

请C#高手看看这段源代码

{ 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 }; 这一串实际上是中文GBK编码码的十进制数值,GBK码是按照首个拼音字母的顺序来排放的,也就是说,这些其实是A,B,C...不同读音的分隔位置。例如45217代表的是“啊”(读音:a)字, 45253代表的是“芭”(读音:ba)字,b字头的第一个字。找到汉字在上面哪个编码区间,就相当于找到了拼音的首字母Encoding.Default.GetBytes(cn)是用默认的编码方式把字符串的每个byte的值取出放入arrCN数组中。int code = (area << 8) + pos;相当于把刚才两个独立的字节数据组装成为一个编码。为什么要把两个字节组装起来?因为中文的编码都是需要两个字节的,实际上,传近来的中文字符串都是以两个字节为一个单位传进来的。return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });这个返回该文字的拼音的第一字母而已,因为ascii编码中,65是代表"A"这个函数实际上是返回汉字的拼音的第一个字母的大写,并且一次只能处理一个汉字

matlab源代码

hrollfcoef这个函数不是matlab自带的function [xh] = hrollfcoef(irfn,ipoint,sr,alfs,ncc)%****************** variables *************************% irfn : Number of symbols to use filtering% ipoint : Number of samples in one symbol% sr : symbol rate% alfs : rolloff coeficiense% ncc : 1 -- transmitting filter 0 -- receiving filter% *****************************************************xi=zeros(1,irfn*ipoint+1);xq=zeros(1,irfn*ipoint+1);point = ipoint;tr = sr ; tstp = 1.0 ./ tr ./ ipoint;n = ipoint .* irfn;mid = ( n ./ 2 ) + 1;sub1 = 4.0 .* alfs .* tr; % 4*alpha*R_sfor i = 1 : n icon = i - mid; ym = icon; if icon == 0.0 xt = (1.0-alfs+4.0.*alfs./pi).* tr; % h(0) else sub2 =16.0.*alfs.*alfs.*ym.*ym./ipoint./ipoint; if sub2 ~= 1.0 x1=sin(pi*(1.0-alfs)/ipoint*ym)./pi./(1.0-sub2)./ym./tstp; x2=cos(pi*(1.0+alfs)/ipoint*ym)./pi.*sub1./(1.0-sub2); xt = x1 + x2; % h(t) plot((1:length(xh)),xh) else % (4alphaRst)^2 = 1plot((1:length(xh)),xh) xt = alfs.*tr.*((1.0-2.0/pi).*cos(pi/4.0/alfs)+(1.0+2.0./pi).*sin(pi/4.0/alfs))./sqrt(2.0); end % if sub2 ~= 1.0 end % if icon == 0.0 if ncc == 0 % in the case of receiver xh( i ) = xt ./ ipoint ./ tr; % normalization elseif ncc == 1 % in the case of transmitter xh( i ) = xt ./ tr; % normalization else error("ncc error"); end % if ncc == 0 end % for i = 1 : n %******************** end of file ***************************网上找的,你看看能不能拼到你那个程序里去

解释vsftpd源代码

vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用vi编辑器可实现对配置文件的编辑修改。方法如下: #vi /etc/vsftpd/vsftpd.conf1.登录和对匿名用户的设置write_enable=YES //是否对登录用户开启写权限。属全局性设置。默认NOlocal_enable=YES //是否允许本地用户登录FTP服务器。默认为NOanonymous_enable=YES //设置是否允许匿名用户登录FTP服务器。默认为YESftp_username=ftp //定义匿名用户的账户名称,默认值为ftp。no_anon_password=YES //匿名用户登录时是否询问口令。设置为YES,则不询问。默 认NOanon_world_readable_only=YES //匿名用户是否允许下载可阅读的文档,默认为YES。 anon_upload_enable=YES //是否允许匿名用户上传文件。只有在write_enable设置为 YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为 YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。anon_other_write_enable=NO //若设置为YES,则匿名用户会被允许拥有多于上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。 2.设置欢迎信息用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。ftpd_banner=Welcome to my FTP server. //该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用banner_file配置项。banner_file=/etc/vsftpd/banner //设置用户登录时,将要显示输出的文件。该设置项将覆盖ftpd_banner的设置。dirmessage_enable=YES //设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容。message_file=.message //设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如/var/ftp/linux)下3.设置用户登录后所在的目录local_root=/var/ftp // 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。anon_root=/var/ftp //设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。 4.控制用户是否允许切换到上级目录 在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统进行操作。 若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:chroot_list_enable=YES // 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NOchroot_list_file=/etc/vsftpd/chroot_list // 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。chroot_local_user=YES // 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO注意:要对本地用户查看效果,需先设置local_root=/var/ftp具体情况有以下几种:1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。 5.设置访问控制(1)设置允许或不允许访问的主机(见TBP14)tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:vsftpd:192.168.168.0/255.255.255.0 :allowall:all:deny(2)设置允许或不允许访问的用户对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下:userlist_enable=YES // 决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。userlist_deny=YES // 决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。若设置为YES,则/etc/vsftpd/user_list文件中的用户将不允许访问FTP服务器;若设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器。 6.设置访问速度 anon_max_rate=0 //设置匿名用户所能使用的最大传输速度,单位为b/s。若设置为0,则不受速度限制,此为默认值。local_max_rate=0 // 设置本地用户所能使用的最大传输速度。默认为0,不受限制。7.定义用户配置文件 在vsftpd服务器中,不同用户还可使用不同的配置,这要通过用户配置文件来实现。 user_config_dir=/etc/vsftpd/userconf //用于设置用户配置文件所在的目录。 设置了该配置项后,当用户登录FTP服务器时,系统就会到/etc/vsftpd/userconf目录下读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。比如,利用用户配置文件,可实现对不同用户进行访问的速度进行控制,在各用户配置文件中,定义local_max_rate配置,以决定该用户允许的访问速度。 8.与连接相关的设置listen=YES //设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受xinetd服务的管理控制,功能上会受限制。max_clients=0//设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。max_per_ip=0// 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。listen_address=IP地址 //设置在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。对于只绑定了一个IP地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个IP地址,则应通过该配置项,指定在哪个IP地址上提供FTP服务,即指定FTP服务器所使用的IP地址。 注意:设置此值前后,可以通过netstat -tnl对比端口的监听情况accept_timeout=60 //设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为60。connect_timeout=60 // PORT方式下建立数据连接的超时时间,单位为秒。data_connection_timeout=300 //设置建立FTP数据连接的超时时间,默认为300秒。idle_session_timeout=600 //设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。pam_service_name=vsftpd //设置在PAM所使用的名称,默认值为vsftpd。 setproctitle_enable=NO|YES //设置每个与FTP服务器的连接,是否以不同的进程表现出来,默认值为NO,此时只有一个名为vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd进程,使用“ps -ef|grep ftp”命令可查看到详细的FTP连接信息。安全起见,建议关闭。9.FTP工作方式与端口设置(1)FTP工作方式简介 FTP的工作方式有两种,一种是PORT FTP,另一种是PASV FTP。下面介绍其工作方式。 二者的区别在于PORT FTP的数据传输端口是由FTP服务器指定的,而PASV FTP则是由FTP客户端指定的,而且每次数据连接所使用的端口号都不同。正因为如此,所以在CuteFTP等FTP客户端软件中,其连接类型设置项中有PORT和PASV两种选择。 当FTP服务器设置为PASV工作模式时,客户端也必须设置为PASV连接类型。若客户端连接类型设置为PORT,则能建立FTP连接,但在执行ls或get等需要数据请求的命令时,将会出现无响应并最终报告无法建立数据连接。(2)与端口相关的配置listen_port=21 // 设置FTP服务器建立连接所侦听的端口,默认值为21。连接非标准端口示例:ftp www.sunflower.org 7000connect_from_port_20=YES // 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。 ftp_data_port=20 //设置PORT方式下FTP数据连接所使用的端口,默认值为20。pasv_enable=YES|NO //若设置为YES,则使用PASV工作模式;若设置为NO,使用PORT模式。默认为YES,即使用PASV模式。pasv_max_port=0 //设置在PASV工作方式下,数据连接可以使用的端口范围的上界。默认值为0,表示任意端口。pasv_mim_port=0 //设置在PASV工作方式下,数据连接可以使用的端口范围的下界。默认值为0,表示任意端口。 10.设置传输模式FTP在传输数据时,可使用二进制(Binary)方式,也可使用ASCII模式来上传或下载数据。ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。 11.设置上传文档的所属关系和权限(1)设置匿名上传文档的属主chown_uploads=YES //用于设置是否改变匿名用户上传的文档的属主。默认为NO。若设置为YES,则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。chown_username=whoever //设置匿名用户上传的文档的属主名。只有chown_uploads=YES时才有效。建议不要设置为root用户。 但系统默root(2)新增文档的权限设定local_umask=022 //设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情况,一般不需要更改。若设置为077,则对应的权限为700。anon_umask=022 //设置匿名用户新增文档的umask。默认077file_open_mode=0755 //设置上传文档的权限。权限采用数字格式。 默认066612.日志文件xferlog_enable=YES //是否启用上传/下载日志记录。默认为NOxferlog_file=var/log/vsftpd.log //设置日志文件名及路径。需启用xferlog_enable选项xferlog_std_format=YES //日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO13.其他设置text_userdb_names=NO //设置在执行ls命令时,是显示UID、GID还是显示出具体的用户名或组名称。默认为NO,以UID和GID方式显示,若希望显示用户名和组名称,则设置为YES。ls_recurse_enable=YES //若设置为YES,则允许执行“ls –R”这个命令,默认值为NO。在配置文件中该配置项被注释掉了,与此类似的还有一些配置,需要启用时,将注释符去掉并进行YES或NO的设置即可。

C++通讯录的源代码

分是万能的吗?请客气些。

跪求C++大神,只需要写一个小游戏源代码,事成有现金酬谢。

什么游戏

gcc能够支持的源代码文件格式和文件名后缀有哪些??

.c C 原始程序 ; 预处理、编译、汇编 .C C++ 原始程序 ; 预处理、编译、汇编 .cc C++ 原始程序 ; 预处理、编译、汇编 .cxx C++ 原始程序 ; 预处理、编译、汇编 .m Objective-C 原始程序 ; 预处理、编译、汇编 .i 已经过预处理之 C 原始程序 ; 编译、汇编 .ii 已经过预处理之 C++ 原始程序 ; 编译、汇编 .s 组合语言原始程序 ; 汇编 .S 组合语言原始程序 ; 预处理、汇编 .h 预处理文件(标头文件) ; (不常出现在指令行)其他扩展名的文件是由连结程序来处理,通常有: .o Object file .a 静态库文件 .so 动态库文件

hex和源代码的区别?

heX依赖Chromium、CEF和Node.js项目。在下载heX源代码之前,需要先准备好指定版本的Chromium源代码,但不需要下载CEF和Node.js项目源代码,因为构建工具会自动下载它们。heX的自动构建工具会根据当前的平台生成对应的工程文件:Windows:用VisualStudio打开刚生成的hex.sln,将hexclient工程设置为启动工程,编译!MacOSX:用Xcode打开刚生成的hex.xcodeproj,编译!一段时间之后(这取决于你的计算机硬件配置),你会在src/hex/build目录中找到编译的结果。HeXium本质上是一个经过修改的加入了Node.js的Chromium浏览器。这个子项目并不需要CEF的支持。在运行了上面提到的hex.bat脚本之后,进入Chromium源代码src的上层目录,运行gclienthooks。这样做是确保用于编译HeXium的全部工程文件构建正确。工程文件构建完毕后进入src/chrome目录中找到Windows:chrome.slnMacOSX:chrome.xcodeproj并使用默认的IDE打开,编译!比编译heX更久的一段时间之后(这同样取决于你的计算机硬件配置),你会在Windows:src/build/DebugorReleaseMacOSX:src/xcodebuild/DebugorRelease中找到编译的结果。

用友U8二次开发需要什么工具或资料?需要源代码吗

  U8插件开发已经可以把二次开发的成果嵌入U8门户菜单;  从U860SP开始,就可以按插件接口模式开发自己的DLL组件完成一些数据处理,嵌入U8门户;  这个版本还没有UAP,还做不到与U8单据交互的过程;需要通过开发来完成数据交互;  从U872开始已经可以与U8单据交互,U890已经完成了UAP单据与U8单据的全面交互;  意思就是说,你可以选择U8单据参照生成你的数据;或者你增加一个UAP单据,审核后生成某个U8单据;  当然,如果你还会一点.NET,估计开发的过程还能直接调用一些开放的接口;  同时,要说明的是,UAP是按一个模块销售的.

有一个库的源代码,怎么用mingw编译产生成lib

 mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a,而在windows下后缀名为.lib的库可能是静态库也可能是动态库的导入库。  mingw编译出来的动态库的导入库可以直接在vc中直接使用,例如  #pragma comment(lib, "libx264.dll.a")  这样你就不需要生成一个.lib后缀的动态库的导入库了,网上也有如何从.dll生成.lib的方法。  如果链接了动态库的导入库libpthread.dll.a,你发布的应用程序就要带上pthread的dll。  使用静态库的好处是发布的应用程序组件模块里不需要带上相关的dll,如果要使用mingw编译出来的静态库,可以如下:  #pragma comment(lib, "libx264.a")  但是仅仅链接这么一个静态库是不够的,你还需要链接  libgcc.a  libmingwex.a

浦发银行源代码是什么

内部商业秘密,不能说。

急求JAVA计算器源代码

//去年做的,没有四则混合运算功能,不过加上这个功能应该不难,我现在忙,没那个精力,不好意思import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Calculator extends JFrame implements ActionListener,KeyListener{ String s="";//S 控制文本框 float k=0;//K P 保存值 float p=0; int b=0;//控制运算符号 JPanel p1=new JPanel(); JPanel p2=new JPanel(); JTextField text=new JTextField(10); GridLayout gridLayout=new GridLayout(); JButton bc=new JButton("复位"); JButton b0=new JButton("0"); JButton b1=new JButton("1"); JButton b2=new JButton("2"); JButton b3=new JButton("3"); JButton b4=new JButton("4"); JButton b5=new JButton("5"); JButton b6=new JButton("6"); JButton b7=new JButton("7"); JButton b8=new JButton("8"); JButton b9=new JButton("9"); JButton bd=new JButton("."); JButton bj=new JButton("+"); JButton bji=new JButton("-"); JButton bs=new JButton("*"); JButton bchu=new JButton("/"); JButton bden=new JButton("="); private void init(){ gridLayout.setColumns(4); gridLayout.setRows(4); gridLayout.setHgap(8); gridLayout.setVgap(8); text.setHorizontalAlignment(JTextField.RIGHT ); p1.add(text,"West"); p1.add(bc,"East"); p2.setLayout(gridLayout); p2.add(b7); p2.add(b8); p2.add(b9); p2.add(bchu); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(bs); p2.add(b1); p2.add(b2); p2.add(b3); p2.add(bji); p2.add(b0); p2.add(bd); p2.add(bj); p2.add(bden); } private void listener(){ bc.addActionListener(this); b0.addActionListener(this); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); bd.addActionListener(this); bj.addActionListener(this); bji.addActionListener(this); bs.addActionListener(this); bchu.addActionListener(this); bden.addActionListener(this); } public Calculator() { this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ dispose(); System.exit(0); } }); this.init(); this.listener(); this.add(p1,"North"); this.add(p2,"Center"); } public static void main(String[] args) { Calculator mainframe=new Calculator(); mainframe.setSize(200,250); mainframe.setLocationRelativeTo(null);//居中 mainframe.setTitle("calculator"); mainframe.setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand()=="0"){ if(b!=5){ s=s+"0"; text.setText(s); } } if(e.getActionCommand()=="1"){ if(b!=5){ s=s+"1"; text.setText(s); } } if(e.getActionCommand()=="2"){ if(b!=5){ s=s+"2"; text.setText(s); } } if(e.getActionCommand()=="3"){ if(b!=5){ s=s+"3"; text.setText(s); } } if(e.getActionCommand()=="4"){ if(b!=5){ s=s+"4"; text.setText(s); } } if(e.getActionCommand()=="5"){ if(b!=5){ s=s+"5"; text.setText(s); } } if(e.getActionCommand()=="6"){ if(b!=5){ s=s+"6"; text.setText(s); } } if(e.getActionCommand()=="7"){ if(b!=5){ s=s+"7"; text.setText(s); } } if(e.getActionCommand()=="8"){ if(b!=5){ s=s+"8"; text.setText(s); } } if(e.getActionCommand()=="9"){ if(b!=5){ s=s+"9"; text.setText(s); } } if(e.getActionCommand()=="."){ if(b!=5){ if(s.indexOf(".")==-1) s=s+"."; text.setText(s); } } if(e.getActionCommand()=="复位"){ s=""; text.setText(s); k=0; p=0; b=0; } if(e.getActionCommand()=="+"){ if(s!=""){ //k=Float.parseFloat(s); if(b!=0&&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=""; } b=1; } if(e.getActionCommand()=="-"){ if(s!=""){ if(b!=0&&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=""; } b=2; } if(e.getActionCommand()=="*"){ if(s!=""){ if(b!=0&&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=""; } b=3; } if(e.getActionCommand()=="/"){ if(s!=""){ if(b!=0&&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=""; } b=4; } if(e.getActionCommand()=="="){ s=equal(s, p, k, b); text.setText(s); b=5;//b=5控制等号以后不能直接跟数字 } } public String equal(String s,float p,float k,int b){ if(s!=""){ //System.out.println("program is run here"); p=Float.parseFloat(s); if(b==1) s=""+(p+k); if(b==2) s=""+(k-p); if(b==3) s=""+(p*k); if(b==4) if(p==0){ s="除数不能为零"; }else s=""+(k/p); } return s; } public void keyPressed(KeyEvent e) { //if(e.getKeyLocation()=="+") } public void keyReleased(KeyEvent arg0) { } public void keyTyped(KeyEvent arg0) { }}

点开手机上的某些APP,出现的是源代码,该怎么解决?(我并不会查看源代码)

这种问题主要是系统不稳定。最根本的解决办法就是备份通讯录资料,然后恢复出厂设置。

软件的源代码是什么意思

就是支持软件运行的计算机语言

UNIX 的源代码控制工具(source Code control System,SCCS)是软件项目开发中常用的()

【答案】:C版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。SCCS是元老级的版本控制软件,也叫配置管理软件。

source insight 项目存放的位置,与源代码的位置不同产生的问题。

举个例子:比如你的代码在D:SourceCode文件夹下,按照一下步骤进行操作1、在D盘根目录下新建Sis_Project文件夹2、剪切SourceCode文件夹,粘贴到Sis_Project文件夹下,由于是同一个硬盘分区进行剪切操作,磁盘上存放位置不会变化,速度很快,不管多大的文件夹,估计几秒钟。3、新建SourceInsight工程,工程文件的存放路径选择D:Sis_Project。4、设置New Project Settings时候注意选择Shares global configuration files5、选择源代码所在路径时候,选择D:Sis_ProjectSourceCode,此处注意,默认是D:Sis_Project,手动选择一下就行。6、添加源代码文件时候选择D:Sis_ProjectSourceCode,点击"Add Tree"按钮。添加完毕后最好再点击一下菜单中的Synchronize Files选项(快捷键Alt+Shift+S)7、打开几个文件试试,再关闭SourceInsight软件。8、再次点击新建的工程文件看看是否正常。另外注意选择

源代码是什么格式?

问题一:代码是什么格式啊? 表述不清,没指明是什么的代码。 代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易海改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,通过编译器完成。 比如:主流的病毒的代码是多用 VB语言编写的,病毒多为组合式的,其中一个文件的后缀名为 .vbs ,.vbs就是这个文件的格式 问题二:java源程序什么格式 Java程序使用下列文件后缀: 文件类别 文件后缀 Java源文件 .java Java字节码文件 .class 2.2 常用文件名(monFile Names) 常用的文件名包括: 文件名 用途 GNUmakefile makefiles的首选文件名。我们采用gnumake来创建(build)软件。 README 概述特定目录下所含内容的文件的首选文件名。 3. 文件组织(FileOrgnization) 一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成。超过2000行的程序难以阅读,应该尽量避免。“Jav源文件范例”提供了一个页面布局合理的Java程序范例。 问题三:源代码什么意思 源代码什么意思 1、源代码示例源程序是指未编译的按照一定的程序设计语言规范书写的文本文件。 源代码(也称源程序),是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。 2、源程序是指未编译的按照一定的程序设计语言规范书写的文本文件。 源代码(也称源程序),是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。 3、影片《源代码》是由邓肯u30fb琼斯执导,杰克u30fb吉伦哈尔、维拉u30fb法米加、米歇尔u30fb莫娜汉、杰弗里u30fb怀特、拉塞尔u30fb皮特斯等人联袂出演。影片于2011年4月1日在美国上映。 影片讲述了一位在阿富汗执行任务的美国空军飞行员柯尔特u30fb史蒂文斯,醒来时发现自己正处在一辆前往芝加哥的火车上,并就此经历的一系列惊心动魄的事件。 问题四:C语言源程序文件的后缀是什么? C语言源程序文件的后缀是“.C”,经过编译后生成文件的后缀是“矗exe”,经过链接后生成文件的后缀“.obj” 问题五:HTML源代码是什么? 嗯嗯、HTML是用来做网站的一种语言哈、这样吧、你打开一个网页、然后再网页任何一个地方点击鼠标右键、然后选择“查看源文件”、点击过后将以记事本的形式打开、里面的就全是HTML代码哈、看看吧、希望对你有所帮助!至于怎么使用这个就有专门的教程了哈、你到百海文库里面找找教程嘛、 问题六:网络游戏的源代码是什么格式? 没有固定格式的,看程序员的爱好 问题七:代码是什么 代码(Source code),也称源程序,是指一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。 问题八:PHP的基本代码格式是什么? 开始结束,和C语言基本格式是一样的,差别就在:变量前面必须家$,区分大小写 问题九:请问用C语言编写程序的格式是什么? #includeint main(){ char i; ------------------------return 0;} -------------------输入输出头文件不能缺少、否则不能调用输入输出函数、还有其他函数--------------------要有main函数、可以哗void main 没有返回值的 也可以是int main 但是返回值是return 0; 问题十:网店模板模块源代码一般格式什么开头什么结尾 标签这个是互联网网页的组织形式,但是淘宝的自定义区域一般不需要加的,淘宝的自定义模块头都已经写了这些默认的标签的,所以不需要加的 2,自定义模块直接可以添加布局也是可以的,通用的布局方式

开源代码是什么意思?

开放源代码(开源代码)软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再开发的权利。简而言之,所有公布软件源代码的程序都可以称为开放源代码软件。 开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称以及包含他版权。使用开放源代码开放模式的软件代表就有Linux操作系统。开放源代码开放模式的名字及其特点最早是由美国电脑黑客 Eric Raymond在他的著作《大教堂与市集》(The Cathedral and the Bazaar)等一系列论文集中提出并探讨的。 严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。 开放源代码软件运动是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

“源代码”的英文怎么说?

sourceCode

matlab做y=3*sin(t)*e^(-t),t为[-2pi,2pi] 求源代码

clear;clc;t = -2:pi:pi/180:2*pi;y=3.*sin(t).*exp(-t);plot(t,y)xlabel("t")ylabel("y")y0 = zeros(1,length(t));hold onplot(t,y0,"g:")hold on[y_max,t_lable]=max(y);plot(t(t_lable),y_max,"r.","MarkerSize",20);text(t(t_lable)*1.3,y_max*2,["y=" num2str(y_max)]);搞定!copyright(c) cxd1301

请问谁有发送邮件的那个网页 HTML 源代码

别用163的,浏览器兼容性很差而且大部分网页保存下来再运行都是有错的

linux slackware12下从源代码如何安装aic7xxx的驱动?

不是说缺少这个文件么?aic7xxx_reg.h你到网上看看能不能下一个。

求一个标准北京时间的源代码,只要时间不要日期的,我要插入到自己的网页!

<script language="JavaScript"> <!-- function get_time(){ var date = new Date(); var year = "", month = "", day = "", week = "", hour = "", minute = "", second = ""; year = date.getYear(); month = add_zero(date.getMonth() + 1); day = add_zero(date.getDate()); week = date.getDay(); switch (date.getDay()){ case 0: val = "星期天"; break case 1: val = "星期一"; break case 2: val = "星期二"; break case 3: val = "星期三"; break case 4: val = "星期四"; break case 5: val = "星期五"; break case 6: val = "星期六"; break } hour = add_zero(date.getHours()); minute = add_zero(date.getMinutes()); second = add_zero(date.getSeconds()); time_div.innerText = hour + ":" + minute + ":" + second ; } function add_zero(temp){ if(temp < 10) return "0" + temp; else return temp; } setInterval("get_time()", 1000); //--> </script> <font class="w12"><b> <div id="time_div"></div> </b></font>

为何Google、微软、华为将亿级源代码放一个仓库?

作者 | 夕颜 编辑 | Just 出品 | AI 科技 大本营(ID:rgznai100) 大公司应该如何进行代码管理?微软研发并采用 VFS For Git 的过程和这个系统本身有哪些可以借鉴的地方?为了更深入了解 VFS For Git 和代码管理相关问题,AI 科技 大本营(ID:rgznai100)采访了微软亚洲研究院首席研发经理邹欣,他对这些问题进行了解答。 为什么要做 VFS For Git? 邹欣回忆,在将代码迁移到 GVFS 前,微软曾使用多个主要的代码管理平台,包括 SLM, Source Depot (上世纪 90 年代开始)、TFS 的源代码控制 TFVC (2006 年开始)。直到 2017 年,微软用三个月的时间完成代码迁移到 Git,并推出了 Git 的变种,针对特大 repo 的 GVFS,并沿用至今。 GVFS 是一个 Git 虚拟文件系统,全称为 Git Virtual File System,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。GVFS 的 V 就是 Virtual(虚拟),它解决了Git 原来的设计缺陷(每个客户端都有所有版本的代码),而是用虚拟文件来代替那些本地用不着的文件, 大大 减少了文件传输和本地机器存储的压力,让微软内部技术人员可以进行高效协作。 一段小插曲是,GVFS 从发布之初就引起了争议,原因是 GNOME 项目的虚拟文件系统也叫 GVfs,而 GNOME 的 GVfs 最早发布于 2006 年,之后的教程、文档、论坛都沿用这个名字。在微软的 GVfs 项目发布后,很快超过了 Gnome GVfs 项目的搜索排名,且由于二者都与虚拟文件系统有关,导致用户在查找信息时容易出现混淆。于是,很多开发者要求微软改名,经过一番周折后,微软终于在 2018 年将 "GVFS" 项目的名字改为 "VFS For Git"。 邹欣表示,当时微软将代码迁移到 Git 主要是为了统一微软百花齐放的内部工具,并没有一个绝对好的选择,领导团队选择了 Git, 但从现在的结果来看,这是一个比较好的选择。如今,微软仍然在对 Git 系列的工具做改进,也把改进回馈到 Git 社区。 现在,VFS For Git 已经是微软内部统一的工具,同时被其他大型企业采用:https://vfsforgit.org/ VFS For Git 在 GitHub 上也已开源: GitHub开源地址:https://github .com /microsoft/VFSForGit 除了微软,我们发现,很多大公司的代码托管已经向自己内部开发的版本控制系统迁移,比如 Google 就把使用不同语言编写的超过 10 亿文件,近百 TB 源代码都存放在自行开发的版本管理系统 Piper 中,只当项目开源且需要外部协作时,才会使用业界流行的 Git。(详见文章《为何Google将几十亿行源代码放在一个仓库?》) 再如华为的内源(Inner Source)平台,承载着华为 1100 亿源代码、60 万+ 代码仓库、每天 60 T 的下载容量、1 万次/秒的 高峰 并发下载。 这是否说明在大公司中流行的单一仓库就是最好的做法? 这些公司在选择采用代码托管方式时需要考虑哪些不同的问题? 邹欣解释,在他看来,用 GVFS 也可以创建各种独立的仓库。用一套工具有利于公司内部进行代码共享,让人员流动、代码复审、改进工具变得更简单,效率提高。 其次,大公司有很大量的代码,很长的 历史 和很多工具,如果贸然选择一个新工具就会出现以下问题: a) 一些市面上的工具并不是为大规模代码设计的,处理不了大量代码, 我们以前用第三方的代码分析工具, 结果处理 Office 的代码的时候,自己崩溃了,因为 Office 的代码量太大,这个工具的开发者没有为如此大的代码设计软件。 b) 很多工具在 历史 中不断演化, 有自己独特的特点,很多和企业内部的某些特殊需求有关,外部工具很难都实现这样的功能。 很多工具联合在一起,会形成了一个工具的生态,但如果只改变一个工具,让其他的工具变得不兼容, 那整个团队的很多工作流就会出现问题。 此外,邹欣表示,代码托管与 AI 结合是未来发展方向。例如,这种结合会告诉你昨天晚上签入代码有问题, 或者签入代码和某个其他团队的代码相似,建议重用。或者告诉你签入的代码是从网上拷贝来的, 而且把原来代码中的 bug 也拷贝过来了。 最后,AI 科技 大本营引用此前微软云开发服务副总裁 Brian Harry 于 2017 年发表的一篇博文内容,在微软推出 VFS For Git 三个月后,他分享了该平台的更多细节及其未来目标,包括扩大开放源代码并改善其在 Microsoft 上的运行表现,想要了解 VFS For Git 更详细的信息,不妨仔细研读一下这篇文章: 每日检出量 https://devblogs.microsoft .com /bharry/the-largest-git-repo-on-the-planet/

asp.net怎么把div中的内容导出到word文档中;而且导出的内容不能含有源代码

截个图不就OK了

关于电影源代码的疑问

以下内容完全个人分析,非转载。楼主给分吧!【1】一开始,上尉以Shawn的身份出现在列车上,照镜子发现自己的样子其实是Shawn。『证明车上不是真实世界,只是上尉的个人记忆加载到源代码世界里储存的Shawn的记忆存档中,并以shawn的身份出现。』【2】而后列车爆炸,上尉第一次回到Beleaguered Castle围困堡,Goodwin问上尉“能看到影像吗?”『证明影像和声音不是通过眼睛和耳朵看或听到,而是通过外部仪器直接发送至Colter大脑的,其他人是看不到听不到,所以才确认。』【3】刚回到围困堡的时候,上尉弄不清状况,Goodwin帮助上尉重构记忆。回忆“莉莉穿着晚礼服和斗篷醒来……”“扑克牌”“猫头鹰的叫声录音”最后帮助上尉成功回想起她的名字。『证明上尉是在围困堡以后通过源代码项目实验植入记忆代码才认识Goodwin的。因为上尉最后的记忆是开直升机,然后紧接着在列车上醒来,马上又回到围困堡。所以从上尉的记忆连贯性上可以知道他根本没有通过自我感知认识Goodwin的时间。其后Goodwin告诉上尉已经来围困堡2个月了而上尉全然不知,也可以说明这个问题。也就是说这实际上是上尉第一次源代码任务。之后博士宣布源代码项目出战告捷也印证了这一点。』【4】上尉第二次加载到源代码世界里Shawn的记忆存档中的源代码世界的发展和第一次有部分变化。『证明源代码世界是即时演算的虚拟世界而非固定的程序。』【5】上尉回到围困堡的时候发现地板有水,包括后来感觉很冷有生命危险。『证明上尉,还活着,类似植物人,但身体是有感知的。冰冷是因为他感知到他的维生环境。同时暗示着源代码项目还不成熟不稳定。』【6】上尉登录源代码世界给博士打电话,有接线员接通并答复上尉,以及克里斯蒂娜上网查到上尉去世的信息,包括上尉在列车以外追疑犯等。『证明源代码世界的构成除了列车上的所有罹难者及上尉本人以外,还有大量其他的数据。数据量绝不仅有Shawn死前8分钟的记忆数据。』【7】上尉在源代码世界时,听到Goodwin的呼叫,会引起源代码世界里面的人物贴图错误。『至少证明当Goodwin在通过外部仪器刺激上尉接受信号的时候,上尉所处的虚拟源代码世界会受到影像。所以,源代码世界实际上是在上尉大脑里即时演算并呈现出来的,而不是虚拟和设置了各种环境及记忆数据的电脑系统。否则Goodwin和博士就不需要每次问上尉发生并看到了什么。』【8】上尉在反复出入源代码世界后问Goodwin是否相信可能存在另外一个版本的自己。Goodwin不信。『上尉感觉在源代码世界和现实世界完全一样,根本没有办法区分。源代码世界像短暂的现实世界,而现实世界像长一点的源代码世界。或者有可能现实世界也是更外层世界的一层源代码世界。基本上就是为结尾打伏笔了。』【9】上尉请求Goodwin最后一次让自己回到源代码世界的现实画面给出了他们沟通方式的特写镜头:上尉是通过外部仪器感应他的身体来打字沟通的。『证明电脑系统只能感应上尉身体的反应而不能获取他大脑里产生的影像。』【10】上尉之前在源代码世界给博士打电话,虽然在源代码世界有反应,但是现实世界完全不受影像。现实世界的博士没有接到来自源代码世界的电话。但是上尉最后一次在源代码世界给Goodwin发短信,Goodwin居然收到了短信。『证明了两点:1是源代码世界不会对现实世界产生影响。2是受到短信的Goodwin是属于源代码世界的。』【11】源代码世界暂停后又继续。『暂停是现实世界上尉脑停止活动----也就是脑死亡。那么继续活动是?上尉停止时的源代码世界在其他上尉的大脑里继续运行。』【12】现实世界的罪魁祸首称是个极其聪明的核物理专家,甚至自己制造了核武器。并称这个世界有机会重来。对于上尉知道自己未实行的计划只说你知道得太多了。『事实上,这些线索可以让我们相信凶手知道源代码世界,知道源代码世界可以重来,所以对上尉识破自己没有实行的计划也并不奇怪。』【13】“现实世界”是真的“现实世界”吗?『这个没有定论。但是,种种迹象表明凶手想要破坏的;上尉、博士、Goodwin所认为的那个真实的“现实世界”极有可能也是另外一种形式或层面的“源代码世界”。类似《盗梦空间》里的梦中梦中梦中梦……』【14】上尉最后的话:如果我猜对了,那么在源代码世界的某个地方你会找到正在等待任务的上尉……『这里可知源代码世界不是唯一的,而且时间轴也不是同步的。』

为什么python写的CGI脚本用360浏览器打开只有源代码

你的WEB服务器首先要支持CGI(当然肯定要有WEB服务,直接浏览器打开当然只有源码,这个是基本的常识),且要支持python脚本才可以显示内容的这个与你的程序毫无关系

matlab中一个源代码,帮我解释一下这些代码每一句的意思呗,急用

clf reset%清除图形内容并重置图形特性H=axes("unit","normalized","position",[0,0,1,1],"visible","off");%生成坐标轴图柄Hset(gcf,"currentaxes",H);%设置当前图形坐标轴str="fontname{隶书}归一化二阶系统的阶跃响应曲线";%生成一个隶书字串,用于后面命名text(0.12,0.93,str,"fontsize",13);%在图中写上面的字串h_fig=get(H,"parent");%获得H的特性并生成图hset(h_fig,"unit","normalized","position",[0.1,0.2,0.7,0.4]);%设置图形h的位置及大小h_axes=axes("parent",h_fig,... "unit","normalized","position",[0.1,0.15,0.55,0.7],... "xlim",[0 15],"ylim",[0 1.8],"fontsize",8);%生成图形h的坐标轴h_text=uicontrol(h_fig,"style","text",... "unit","normalized","position",[0.67,0.73,0.25,0.14],... "horizontal","left","string",{"输入阻尼比系数","zeta ="});%在图h中生成一个文本控件,要求输入zeta值h_edit=uicontrol(h_fig,"style","edit",... "unit","normalized","position",[0.67,0.59,0.25,0.14],... "horizontal","left",... "callback",[... "z=str2num(get(gcbo,""string""));",... "t=0:0.1:15;",... "for k=1:length(z);",... "s2=tf(1,[1 2*z(k) 1]); ",... "y(:,k)=step(s2,t);",... "plot(t,y(:,k));",... "if (length(z)>1) ,hold on,end,",... "end;",... "hold off,"]);%生成一个编辑控件,根据zeta值画图h_push1=uicontrol(h_fig,"style","push",... "unit","normalized","position",[0.67,0.37,0.12,0.15],... "string","grid on","callback","grid on");%生成一个按钮控件,用于在图中画网格h_push2=uicontrol(h_fig,"style","push",... "unit","normalized","position",[0.67,0.15,0.12,0.15],... "string","grid off","callback","grid off");%生成一个按钮控件,用于消除图中的网格

用c#实现k-means聚类算法源代码

http://www.codeproject.com/KB/recipes/K-Mean_Clustering.aspx

大家知道哪里有nessus源代码吗

Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。简介 1998年, Nessus 的创办人 Ren...

eclipse中源代码中文乱码了怎么办

换编码方式

求RSA加密解密算法,c++源代码

问百度、

Mozilla Firefox是开源的浏览器吗?哪里可以下载源代码?

您好!火狐浏览器是一款开源、安全的浏览器。源代码请参考https://github.com/mozilla/kitsune/Firefox拥有非常强大的扩展功能,可以根据自己的需求定制浏览体验。使用的是Gecko内核。感谢您对火狐浏览器的支持!

关于EmEditor查看源代码。。如何编辑只读文件?

把编辑菜单“只读”前面的勾去掉即可。只要你用的版本不是太老应该都有这个功能的。另外有一个插件可以切换是否只读,装一个插件集就有了

如何将图像或者数值矩阵用radon函数 matlab源代码

Radon变换是平行束对图像的线积分,根据各个角度得到的一系列投影值逆radon重建得到原始图像。变换角度默认是逆时针。r=radon(im,30);得到的是一维数组,平行束与X轴夹角为30度时,距原点不同距离的投影线(平行束)上对图像的线积分。[R,Xp]=RADON()XP对应平行束的位置。

急求井字游戏的编程源代码(MFC格式)

“井字棋”游戏(又叫“三子棋”),是一款十分经典的益智小游戏,想必很多玩家都有玩过。“井字棋”的棋盘很简单,是一个3×3的格子,很像中国文字中的“井”字,所以得名“井字棋”。“井字棋”游戏的规则与“五子棋”十分类似,“五子棋”的规则是一方首先五子连成一线就胜利;“井字棋”是一方首先三子连成一线就胜利。井字棋(英文名Tic-Tac-Toe)井字棋的出现年代估计已不可考,西方人认为这是由古罗马人发明的;但我们中国人认为,既然咱们都发明了围棋、五子棋,那发明个把井字棋自然是不在话下。这些纯粹是口舌之争了,暂且不提。想起小时候上课喜欢玩井字棋,只要一张草稿纸、一支笔、同桌两人就可以玩了。上体育课,也可以拿着树枝在沙坑里玩。但一直感觉这游戏太简单了,后来接触了五子棋,着迷了一阵,但水平总是很差,便也不玩了。一字棋游戏极小极大分析法 设有九个空格,由MAX,MIN二人对弈,轮到谁走棋谁就往空格上放一只自己的棋子,谁先使自己的棋子构成“三子成一线”(同一行或列或对角线全是某人的棋子),谁就取得了胜利。 用叉号表示MAX,用圆圈代表MIN。 比如右图中就是MIN取胜的棋局。 为了不致于生成太大的博弈树,假设每次仅扩展两层。估价函数定义如下: 设棋局为P,估价函数为e(P)。 (1) 若P对任何一方来说都不是获胜的位置,则e(P)=e(那些仍为MAX空着的完全的行、列或对角线的总数)-e(那些仍为MIN空着的完全的行、列或对角线的总数) (2) 若P是MAX必胜的棋局,则e(P)=+∞。 (3) 若P是B必胜的棋局,则e(P)=-∞。 比如P如右图示,则e(P)=6-4=2 要注意利用棋盘位置的对称性,在生成后继节点的位置时,下列博弈结局 都是相同的棋局(在博弈中,一宇棋的分枝系数比较小起初是由于对称性,而后是由于棋盘上未布子的空格减少所致)。图3.15画出了经过两层搜索生成的博弈树,静态估值记在端节点下面,倒推值记在圆圈内。 由于右图所示位置具有最大的倒推值,它应当选取为MAX的第一步(正好是MAX的最好的优先走步)。 现在我们假设MAX走了这一步,而MIN的回步是直接在X上方的空格里放上一个圆圈(对MAX来说这是一步坏棋,他一定没有采用好的搜索策略)。下一步,MAX又在新的格局下搜索两层,产生如图3.16所示的搜索图。 现在图中MAX有两个可能“最好的”优先走步,假设MAX走了图上指明的那一步。而MIN为了避免立即败北被迫走了另一步,从而产生如下棋局:MAX再次搜索,产生如图3.17所示的树。 在这棵树中某些端节点(例如其中一个标记着A)代表MIN获胜,因此它们的估值为—∞。当这些估值被倒推回去时,可看到MAX的最好的也是唯一能使他避免立即失败的一个走步。现在,MIN可以看出MAX必然在他的下一走步中获胜,因此,MIN只好认输。 按极大极小算法编程下一字棋的演示(右图,可以点击操作)... 我们就利用Visual Basic编写一个“井字棋”的小游戏。【设计思路】 首先,我们要知道,“井字棋”游戏是一款典型的棋类游戏,游戏时一方式是电脑,另一方是玩家。所以,这类游戏在开始时有两种方式:一种是玩家先走;另一种是电脑先走。这是我们要考虑的第一个问题。 其次,由于与玩家对战的是计算机,所以我们要编写一个过程(Chuqi),它可以使程序模拟人的思维与人下棋(其实就是“人工智能”的体现),这个Chuqi过程也是本游戏软件的关键。此外,我们还要编写两个过程(Lianxian和Shuying),Lianxian过程用来时刻判断棋盘中是否有三个棋子连成一线;Shuying过程用来判断如果有三个棋子连成一线,是哪一方连成一线的,即判断哪一方获胜。 以上几个问题就是该“井字棋”游戏实现的关键思路。....

站长之家下载的源代码怎么用

如果是asp的直接上传到空间就可以如果是php的需要安装,具体的可以参考 金选网赚博客 上的教程

游程编码源代码

你说要那方面吧,我有好多的,全部是C的,找我就发邮件,我的邮件是leon358@gmail.com

java小程序源代码,简单点的,100多行,谁有啊??

还要有运行界面的么?我写过一个生成36选7彩票号码的,没有界面,差不多,你要的话把邮箱告诉我!~

如何看angularjs源代码

查看angularjs源代码方法如下大部分JS框架的源代码都可以在Github中找到,angular.js也可以在里面查找,要想在Github中找到相应的源代码,步骤如下:在浏览器中访问github.com在右上角的搜索框中输入想要查找的源代码(输入angular.js),按回车搜索在查询结果中,一般来说第一个结果就是对应的源代码(angular.js)点进去后,可以在线查看,亦可以点击绿色下拉按钮“Clone or download”,用git复制地址同步源代码到本地,或者打包成zip压缩包下载都本地。

如何看angularjs源代码

angular的源代码可以去官网下载,然后保存到本地查看。工具原料:浏览器、编辑器1、首先打开angular的官网下载angular的原文件,或者在其他的途径下载也是可以的。2、然后点击download下载angular的原文件并保存到本地。3、然后使用编辑器打开即可看到angular的源代码了。

cad 中 点的坐标提取?(我看到你写的三维多段线坐标提取的源代码了)

标注里面可以直接标注点坐标

c++ primer源代码 怎么用

C++ Primer, Fifth EditionPre GCC 4.7.0Code Distribution READMEBarbara E. Moobmoo@att.netAugust 16, 2012************************楼主有话说分割线***********************************************************************此为C++ Primer第五版源代码说明文档,包含在GCC_pre_C11.zip压缩包内。C++ Primer第五版源代码下载地址:informit.com/store/c-plus-plus-primer-9780321714114网页中包含4个源代码压缩包,分别适用于不同的编译器。Download the source files forGCC 4.7.0.适用于GCC 4.7.0.或更高版本GCCDownload the source code files forMS Visual Studio 2012适用于Visual Studio 2012或更高版本Download the source code files forGCC pre-C++ 11 compilers 2012.适用于GCC 4.7.0之前版本,不使用c++0x或c++11的新标准。Download the source code files forMicrosoft pre-C++ 11 compilers.适用于Visual Studio 2012之前版本本人的编译器版本:[****@localhost primer]$ gcc --versiongcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)Copyright (C) 2006 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.所以使用GCC_pre_C11。************************楼主有话说分割线***********************************************************************************************以下为粗略翻译*********************************************************************OverviewThis distribution contains the source code of all the complete programs andmany of the program fragments from C++ Primer. The code in this distributionhas been edited to work with pre C++11 GNU compilers. We tested this codeusing the GCC 4.5.3 compiler, but it should work with earlier versions of thecompiler as well. Please see CompilerNotes.pdf in this directory for moreinformation on the missing features and workarounds.概述这个发行版包含了C++ Primer里所有完整程序的源代码和一些代码片段。这些代码工作在C++11 GNU之前的编译器环境下。我们用GCC 4.5.3 测试过这些代码,在之前的编译器版本下也应该可以适用。请查看本目录下的CompilerNotes.pdf文档以获得更多信息。Building Executables构建可执行文件The code is divided into 19 subdirectories corresponding to the Chapters inC++ Primer. Each subdirectory contains a makefile thatmakes the source in thatdirectory. Thesemakefiles rely on the file named GNU makefile template inthe top-level directory. The makefiles are fairly simple and we have providedcomments in the hope that even those who are not familiar with makefiles canunderstand how to compile these programs by hand if so desired.代码根据C++ Primer中的章节分布在19个子目录下。每个子目录包含一个makefile文件,用来make当前目录的代码。这些makefile文件都依赖顶层目录的GNU makefile template文件。这些makefile文件都很简单,如果需要,我们还是提供了一些备注,希望那些不熟悉makefile的人也可以了解如何手工编译这些程序。The top level directory also has its own makefile that will make the entiresource tree. The top level makefile also has targets clean and clobber toremove the object files or object and executable files respectively.顶层目录中同样有自己的makefile文件,他可以make整个目录文件。这个makefile还包含了 clean and clobber两个标示,可以删除对象文件或分别删除对象文件和执行程序。To use make on most UNIX based operating systems you invoke the commandnamed make:在大多数基于UNIX的操作系统中你调用make命令:# UNIX machines $ make # compiles all the programs 编译所有的程序$ make clean # removes all the object files and stackdumps 删除所有的对象文件和堆栈转储文件$ make clobber # removes executable, object and stackdump files 删除可执行文件、对象文件和堆栈转储文件Input and Output输入和输出The code in these subdirectories includes all of the complete programs coveredin C++ Primer.这些子目录里的代码覆盖了C++ Primer所有的完整项目。In addition, we include executable versions of some of the otherwise incompleteprogram fragments. In general, such programs print details aboutthe internal state of the program. To understand the output, you will have tounderstand the program. This is intentional.此外,我们包含了一些其他不完整程序片段的可执行版本。一般来说,这样的程序打印了程序的内部状态的细节。为了了解输出,你将不得不去理解程序。这是故意的。The input, if any, to these programs varies:对于这些程序的输入,如果有的话,是不同的:u2022 Some programs print a prompt and wait for input on the standard input u2022一些程序打印一个提示,等待输入的标准输入u2022 Other programs read the standard input but do not print a prompt u2022一些程序读取标准输入但不打印一个提示u2022 Others take one or more arguments specifying a file name to read u2022另外一些带一个或多个参数来指定一个用来读取的文件名u2022 Yet others take a file name argument and read the standard input u2022但其他一些则带一个文件名参数,并读取标准输入Each Chapter subdirectory contains a README that explains the input, if any,expected by each executable file.如果可执行文件期待一个输入的话,每一章的子目录包含一个README解释输入。Sample Data Files示例数据文件For those programs that expect input, we have provided small, sample inputfiles. Input files are always found in a subdirectory named data. For example,the program add_item in directory 1 reads Sales_item transactions fromthe standard input but does not prompt for input. If the program is invoked:add_itemit will wait for input, which you can provide by typing appropriate transactions.Alternatively, you can pass the data file we provide. Assuming the followingis executed in the directory named 1 writingadd_item < data/add_item # UNIXwill bind the standard input to the add_item file in the data subdirectoryand will execute the program add_item on the data in that file.Some of the programs take argument(s) that must be supplied when theprogram is executed. These programs will fail if they are invoked with noargument. For example, the word_transform program in the Chapter 11directory requires two input files. You might invoke this program as follows:# word_transform takes two files, samples are in the data directory# this execution uses the file data/rules to transform the text in data/textword_transform data/rules data/text # UNIXSee Section 1.1.1 for a description of how C++ programs are run, page 22 forhow files are bound to the standard input and standard output, and Section6.2.5 for how arguments are passed to a C++ program.对于那些需要输入的程序,我们提供了一个简单的实例输入文件。输入文件往往可以在子目录的data文件夹下找到。比如,目录1中的add_item程序需要从标准输入读取Sales_item交易,但不提示输入。如果程序被如下调用:add_item它将等待输入,您可以通过输入适当的交易提供。另外,您可以通过我们提供的数据文件。假设在目录1下执行了如下命令add_item < data/add_item # UNIX它会将data子目录下的add_item文件绑定到标准输出上,并在这个文件里的数据上执行add_item程序。对于一些带参数的项目,执行时必须提供的参数列表。如果没有参数,这些程序会执行失败。例如,在第11章目录下的word_transform程序需要两个输入文件。你可能会这样调用这个程序:# word_transform takes two files, samples are in the data directory# this execution uses the file data/rules to transform the text in data/textword_transform data/rules data/text # UNIX参见1.1.1节了解c++程序是如何运行的,22页了解如何将文件绑定到标准输入和标准输出,参加6.2.5节了解如何将参数传递给一个c++程序。

谁有VB闭合导线坐标计算的源代码

Const pi As Single = 3.14159265358979Dim jd(1 To 500) As DoubleDim ds(1 To 500) As DoubleDim n As IntegerDim jdh As DoubleDim gzj(1 To 500) As StringDim fwj As DoubleDim zbfwj(0 To 500) As DoubleDim zbfwj1(0 To 500) As StringDim dx(1 To 500) As Single, dy(1 To 500) As SingleDim x(1 To 500) As Single, y(1 To 500) As SinglePublic Function Deg2Rad(a As Double) As Double Dim Ra As Double Dim c As Double Dim d As Double Dim e As Long Dim f As Long Ra = pi / 180 e = Int(a) c = (a - e) * 100 f = Int(c) d = (c - f) * 100 Deg2Rad = (e + f / 60 + d / 3600) * RaEnd FunctionPublic Function Degree(a As Double) As Double Dim b As Double Dim Fs1 As Double Dim Im1 As Integer Dim Id1 As Integer b = a Call DMS(b, Id1, Im1, Fs1) Degree = Id1 + Im1 / 100# + Fs1 / 10000#End FunctionPublic Sub DMS(a As Double, ID As Integer, IM As Integer, FS As Double) Dim b As Double Dim c As Double c = a c = 180# / pi * c ID = Int(c + 0.0000005) b = (c - ID) * 60 + 0.0005 IM = Int(b) FS = (b - IM) * 60End SubPublic Function Deg2DMS(b As Double) As String Dim a As Double Dim ad As Single Dim d As Single Dim ag As Single Dim e As Single Dim ah As Single a = b + 0.00005 ad = Format(Fix(a)) d = a - ad ag = Format(Fix(d * 100)) e = d * 100 - ag ah = Int(e * 100) Deg2DMS = ad & "°" & ag & "′" & ah & "〃"End FunctionPrivate Sub Command1_Click() CommonDialog1.Filter = "所有文件 (*.*)|*.*" CommonDialog1.FilterIndex = 1 CommonDialog1.InitDir = App.Path & IIf(Right(App.Path, 1) = "", "", "") & "数据" CommonDialog1.Action = 1 Open CommonDialog1.FileName For Input As #1 i = 0: j = 0 Do While Not EOF(1) i = i + 1 Input #1, jd(i) gzj(i) = Deg2DMS(jd(i)) Text4.Text = Text4.Text & gzj(i) & vbCrLf Loop Close #1 n = iEnd SubPrivate Sub Command4_Click()Dim yz As String CommonDialog1.Filter = "所有文件 (*.*)|*.*" CommonDialog1.FilterIndex = 1 CommonDialog1.InitDir = App.Path & IIf(Right(App.Path, 1) = "", "", "") & "数据" CommonDialog1.Action = 1 Open CommonDialog1.FileName For Input As #1 Input #1, fwj yz = Deg2DMS(fwj) Text1.Text = Text1.Text & yz & vbCrLfEnd SubPrivate Sub Command3_Click() CommonDialog1.Filter = "所有文件 (*.*)|*.*" CommonDialog1.FilterIndex = 1 CommonDialog1.InitDir = App.Path & IIf(Right(App.Path, 1) = "", "", "") & "数据" CommonDialog1.Action = 1 Open CommonDialog1.FileName For Input As #1 i = 0: j = 0 Do While Not EOF(1) i = i + 1 Input #1, ds(i) Text7.Text = Text7.Text & ds(i) & vbCrLf Loop Close #1 n = iEnd SubPrivate Sub Command2_Click()Dim af As Double, ad As String, ag As Integer, gzs As Double, dsh As Single, wd As DoubleDim dyh As Single, dxh As SingleDim y1 As Single, x1 As SingleDim jd1(1 To 500) As DoubleFor i = 1 To n jd(i) = Deg2Rad(jd(i))Next For i = 1 To n jdh = jdh + jd(i) Next af = Degree(jdh - pi * (n - 2)) ad = Deg2DMS(af) Text9.Text = ad gzs = (jdh - pi * (n - 2)) / n For i = 1 To n jd(i) = jd(i) - gzs jd1(i) = Degree(jd(i)) gzj(i) = Deg2DMS(jd1(i)) Text5.Text = Text5.Text & gzj(i) & vbCrLf Next fwj = Deg2Rad(fwj) zbfwj(0) = fwj For i = 1 To n zbfwj(i) = zbfwj(i - 1) + jd(i) If zbfwj(i) >= 2 * pi Then zbfwj(i) = zbfwj(i) - 2 * pi End If If zbfwj(i) >= pi Then zbfwj(i) = zbfwj(i) - pi ElseIf zbfwj(i) < pi Then zbfwj(i) = zbfwj(i) + pi End If Next For i = 1 To n zbfwj(i) = Degree(zbfwj(i)) zbfwj1(i) = Deg2DMS(zbfwj(i)) Text6.Text = Text6.Text & zbfwj1(i) & vbCrLf Next For i = 1 To n zbfwj(i) = Deg2Rad(zbfwj(i)) Next dx(1) = Cos(zbfwj(0)) * ds(1) dy(1) = Sin(zbfwj(0)) * ds(1) For i = 2 To n dx(i) = Cos(zbfwj(i - 1)) * ds(i) dy(i) = Sin(zbfwj(i - 1)) * ds(i) Next For i = 1 To n dxh = dxh + dx(i) dyh = dyh + dy(i) Next For i = 1 To n dsh = dsh + ds(i) Next For i = 1 To n dx(i) = dx(i) - dxh * ds(i) / dsh dy(i) = dy(i) - dyh * ds(i) / dsh Next x1 = Val(Text2.Text) y1 = Val(Text3.Text) x(1) = x1 + dx(1) y(1) = y1 + dy(1) For i = 2 To n x(i) = x(i - 1) + dx(i) y(i) = y(i - 1) + dy(i) Next For i = 1 To n Text8.Text = Text8.Text & x(i) & vbCrLf Text10.Text = Text10.Text & y(i) & vbCrLf Next wd = (Sqr((dxh) * (dxh) + (dyh) * (dyh))) / dsh wd = Int(1 / wd) Text11.Text = "fx=" & Int(dxh * 10000 + 0.5) / 10000 & " " & "fy=" & Int(dyh * 10000 + 0.5) / 10000 & " " & "WD=1/" & wdEnd SubPrivate Sub Command5_Click() Unload Form2 Dim nForm As New Form2 Form2.ShowEnd SubPrivate Sub Command6_Click()Form3.ShowForm2.HideEnd Sub

用JAVA编写的科学计算器源代码

这个你参考一下。import javax.swing.*; //import javax.swing.event.*; import java.awt.*; import java.awt.event.*; //计算器显示结果的窗体 class Result extends JPanel { JTextField text = new JTextField("0"); //text先是输入和结果 Result() { text.setHorizontalAlignment(SwingConstants.RIGHT); //讲输入的数字或得到的结果在text的右边显示 text.setEnabled(false); //文本框不能编辑 setLayout(new BorderLayout()); //设定布局管理器边框布局 add(text, BorderLayout.CENTER); //text放置在窗体的中间 } } //计算器数字按钮定义面板 class Number_Key extends JPanel { JButton zero = new JButton("0");//数字键0 JButton one = new JButton("1");//数字键1 JButton two = new JButton("2");//数字键2 JButton three = new JButton("3");//数字键3 JButton four = new JButton("4");//数字键4 JButton five = new JButton("5");//数字键5 JButton six = new JButton("6");//数字键6 JButton seven = new JButton("7");//数字键7 JButton eight = new JButton("8");//数字键8 JButton nine = new JButton("9");//数字键9 JButton plus = new JButton("+"); JButton sub = new JButton("-"); JButton mul = new JButton("*"); JButton div = new JButton("/"); JButton equal = new JButton("="); JButton ce = new JButton("ce");//置零键 JButton point = new JButton("."); JButton tzero = new JButton("00"); Number_Key() { setLayout(new GridLayout(6, 3, 10, 10));//定义布局管理器为网格布局 //添加各个按钮键 add(seven); add(eight); add(nine); add(four); add(five); add(six); add(one); add(two); add(three); add(zero); add(tzero); add(plus); add(sub); add(mul); add(div); add(point); add(equal); add(ce); } } //计算器主类 class sakura extends JFrame implements ActionListener { Result result = new Result();//定义text的面板 Number_Key number_key = new Number_Key();//定义按钮面板 //当点击按钮+、-、*、/时,com = true boolean com = false; //当i=0时说明是我们第一次输入,字符串sum不会累加 int i = 0; //存放text的内容 String sum = ""; //存放点击按钮+、-、*、/之前的数值 double total = 0; //+、-、*、/的代号分别为1,2,3,4 int symbol = 0; sakura() { super("Calculator");//设定标题 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗体时退出程序 JPanel pane = new JPanel();//定义主面板 pane.setLayout(new BorderLayout()); pane.add(result, BorderLayout.NORTH); pane.add(number_key, BorderLayout.SOUTH); number_key.one.addActionListener(this);//对1按钮添加监听事件 number_key.two.addActionListener(this);//对2按钮添加监听事件 number_key.three.addActionListener(this);//对3按钮添加监听事件 number_key.four.addActionListener(this);//对4按钮添加监听事件 number_key.five.addActionListener(this);//对5按钮添加监听事件 number_key.six.addActionListener(this);//对6按钮添加监听事件 number_key.seven.addActionListener(this);//对7按钮添加监听事件 number_key.eight.addActionListener(this);//对8按钮添加监听事件 number_key.nine.addActionListener(this);//对9按钮添加监听事件 number_key.zero.addActionListener(this);//对0按钮添加监听事件 number_key.ce.addActionListener(this);//对置零按钮添加监听事件 number_key.plus.addActionListener(this);//对+按钮添加监听事件 number_key.equal.addActionListener(this);//对=按钮添加监听事件 number_key.sub.addActionListener(this);//对-按钮添加监听事件 number_key.mul.addActionListener(this);//对*按钮添加监听事件 number_key.div.addActionListener(this);//对/按钮添加监听事件 number_key.tzero.addActionListener(this);//对00按钮添加监听事件 number_key.point.addActionListener(this);//对.按钮添加监听事件 setContentPane(pane); pack();//初始化窗体大小为正好盛放所有按钮 } //各个按钮触发的事件 public void actionPerformed(ActionEvent e) { /*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true * 如果没有com= false;或者是否点击数字键,如果是i = 1,如果没有 i = 0; **/ if (e.getSource() == number_key.one) { if (com || i == 0) { result.text.setText("1"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "1"); } } else if (e.getSource() == number_key.two) { if (com || i == 0) { result.text.setText("2"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "2"); } } else if (e.getSource() == number_key.three) { if (com || i == 0) { result.text.setText("3"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "3"); } } else if (e.getSource() == number_key.four) { if (com || i == 0) { result.text.setText("4"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "4"); } } else if (e.getSource() == number_key.five) { if (com || i == 0) { result.text.setText("5"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "5"); } } else if (e.getSource() == number_key.six) { if (com || i == 0) { result.text.setText("6"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "6"); } } else if (e.getSource() == number_key.seven) { if (com || i == 0) { result.text.setText("7"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "7"); } } else if (e.getSource() == number_key.eight) { if (com || i == 0) { result.text.setText("8"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "8"); } } else if (e.getSource() == number_key.nine) { if (com || i == 0) { result.text.setText("9"); com = false; i = 1; } else { sum = result.text.getText(); result.text.setText(sum + "9"); } } /*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是 * 如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添 * 加0;否则保持原来的数值不变 */ else if (e.getSource() == number_key.zero) { if (com || i == 0) { result.text.setText("0"); com = false; i = 1; } else { sum = result.text.getText(); if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0) { result.text.setText(sum + "0"); } else { if (sum.trim().indexOf(".") == -1) { result.text.setText(sum); } else { result.text.setText(sum + "0"); } } } } else if (e.getSource() == number_key.ce) { result.text.setText("0"); i = 0; com = true; } else if (e.getSource() == number_key.tzero) { if (com || i == 0) { result.text.setText("0"); com = false; i = 1; } else { sum = result.text.getText(); if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0) { result.text.setText(sum + "00"); } else { if (sum.trim().indexOf(".") == -1) { result.text.setText(sum); } else { result.text.setText(sum + "00"); } } } } /*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加, * 不存在就添加. */ else if (e.getSource() == number_key.point) { if (com || i == 0) { result.text.setText("0."); com = false; i = 1; } else { sum = result.text.getText(); if (sum.trim().indexOf(".") == -1) { result.text.setText(sum + "."); } else { result.text.setText(sum); } } } //获得点击+之前的数值 else if (e.getSource() == number_key.plus) { com = true; i = 0; total = Double.parseDouble(result.text.getText()); symbol = 1; }//获得点击-之前的数值 else if (e.getSource() == number_key.sub) { com = true; i = 0; total = Double.parseDouble(result.text.getText()); symbol = 2; }//获得点击*之前的数值 else if (e.getSource() == number_key.mul) { com = true; i = 0; total = Double.parseDouble(result.text.getText()); System.out.println(total); symbol = 3; }//获得点击/之前的数值 else if (e.getSource() == number_key.div) { com = true; i = 0; total = Double.parseDouble(result.text.getText()); symbol = 4; } else if (e.getSource() == number_key.equal) { switch (symbol) { case 1 ://计算加法 { double ad = total + Double.parseDouble(result.text.getText()); result.text.setText(ad + ""); i = 0; sum = ""; break; } case 2 ://计算减法 { double ad = total - Double.parseDouble(result.text.getText()); result.text.setText(String.valueOf(ad)); i = 0; sum = ""; break; } case 3 ://计算乘法 { double ad = total * Double.parseDouble(result.text.getText()); result.text.setText(ad + ""); i = 0; sum = ""; break; } case 4 ://计算除法 { double ad = total / Double.parseDouble(result.text.getText()); result.text.setText(ad + ""); i = 0; sum = ""; break; } } System.out.println(com); } } public static void main(String[] args) { sakura ww = new sakura(); ww.setVisible(true) ; } }

UltraEdit怎么新建项目并添加源代码

你们是不是也在使用UltraEdit呢?不过你们晓得创建项目并添加源代码的方法的吗?今日在这里就为你们带来了创建项目并添加源代码的操作方法。我们先打开UltraEdit软件,点击菜单栏的“项目”-“新建项目/工作区”,准备新建项目。然后在弹出的“制定项目文件”对话框选择目标文件夹,输入项目名称,确认后点击“保存按钮”。接着是“项目设置”对话框,可以通过右侧的“添加文件夹”按钮加载需要添加的文件夹,然后再“新建文件夹”对话框点击“文件夹”右侧的“浏览”按钮,在“浏览文件夹”对话框选择目标文件夹,通过“确定”键确认。再回到“项目设置”,可以通过点击“筛选”右侧的“浏览”按钮选择需要的文件,比如需要C/C++文件的源文件可以选择“SourcesFiles”,选择完成后会在“筛选”下面的文本框中显示筛选文件的表达式,如果还需要添加头文件筛选可以依葫芦画瓢加*.h即可。“项目设置”下面有个“在文件夹里包括子文件夹”选项,勾选可以将子文件夹的文件一并包含到工程目录,最后通过“关闭”按钮确认上述操作。源代码项目创建完毕后,我们可能并没有看到自己刚刚添加的文件或者文件夹,这个可以通过点击菜单栏的“视图”-“视图/列表”-“文件树视图”,不出意外软件会在左侧弹出一个“文件视图”,点击“项目”可以看到刚刚加载的文件和文件夹。如果没有出现,那么可以通过菜单栏的“项目”-“添加到项目”再次添加文件或文件夹。UltraEdit|

stm32 foc 4.2源代码 Confidential版本怎么获得

官网上下载的是WEB版本的,提供的是Confidential版本的。

如何在html输入框中输入数值点确定后 更改源代码并刷新页面?

这个需要使用ajax的

r语言中怎样查看函数源代码

直接输入函数名,不加参数。如area

老师出的turbo C语言设计题目。题目如下,跪求大神帮我打下源代码。参考。

现在不动手,将来想做这一行,还是要动手,自己动动手吧,也不难。

java中compareTo源代码是怎么实现的

compareTo()是Comparable接口中的方法,compareTo()就是比较两个值,如果前者大于后者,返回1,等于返回0,小于返回-1,int型可以直接比较,可以不用compareTo比较,如果声明的是Date、String、Integer或者其他的,可以直接使用compareTo比较。示例代码:public class Test {public static void main(String[] args) {String str1 = "1";String str2 = "2";System.out.println(compareTo(str1,str2));}public static int compareTo(String str1,String str2) { return str1.compareTo(str2);}}注意事项: 1、模型必须实现Comparable<T>接口 2、compateTo方法内必须做非空判断(规范问题),当然int类型就不用了。

急求用VC++6.0编写的计算器源代码

复杂

java编译时找不到符号,程序源代码如下,不知道怎么修改

for循环的作用域呢

LINUX的源代码是什么?

对,就是linux的内核源代码
 首页 上一页  1 2