b2c信息网

您现在的位置是:首页 > 明日新闻 > 正文

明日新闻

tf.equal源码(tfequal函数)

hacker2022-09-08 15:00:27明日新闻86
本文目录一览:1、计算器源代码2、

本文目录一览:

计算器源代码

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

* 一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。

* 但还不支持键盘操作。

*/

public class Calculator extends JFrame implements ActionListener {

/** 计算器上的键的显示名字 */

private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6",

"*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };

/** 计算器上的功能键的显示名字 */

private final String[] COMMAND = { "Backspace", "CE", "C" };

/** 计算器左边的M的显示名字 */

private final String[] M = { " ", "MC", "MR", "MS", "M+" };

/** 计算器上键的按钮 */

private JButton keys[] = new JButton[KEYS.length];

/** 计算器上的功能键的按钮 */

private JButton commands[] = new JButton[COMMAND.length];

/** 计算器左边的M的按钮 */

private JButton m[] = new JButton[M.length];

/** 计算结果文本框 */

private JTextField resultText = new JTextField("0");

// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

private boolean firstDigit = true;

// 计算的中间结果。

private double resultNum = 0.0;

// 当前运算的运算符

private String operator = "=";

// 操作是否合法

private boolean operateValidFlag = true;

/**

* 构造函数

*/

public Calculator(){

super();

//初始化计算器

init();

//设置计算器的背景颜色

this.setBackground(Color.LIGHT_GRAY);

this.setTitle("计算器");

//在屏幕(500, 300)坐标处显示计算器

this.setLocation(500, 300);

//不许修改计算器的大小

this.setResizable(false);

//使计算器中各组件大小合适

this.pack();

}

/**

* 初始化计算器

*/

private void init() {

// 文本框中的内容采用右对齐方式

resultText.setHorizontalAlignment(JTextField.RIGHT);

// 不允许修改结果文本框

resultText.setEditable(false);

// 设置文本框背景颜色为白色

resultText.setBackground(Color.WHITE);

//初始化计算器上键的按钮,将键放在一个画板内

JPanel calckeysPanel = new JPanel();

//用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3));

for (int i = 0; i KEYS.length; i++) {

keys[i] = new JButton(KEYS[i]);

calckeysPanel.add(keys[i]);

keys[i].setForeground(Color.blue);

}

//运算符键用红色标示,其他键用蓝色表示

keys[3].setForeground(Color.red);

keys[8].setForeground(Color.red);

keys[13].setForeground(Color.red);

keys[18].setForeground(Color.red);

keys[19].setForeground(Color.red);

//初始化功能键,都用红色标示。将功能键放在一个画板内

JPanel commandsPanel = new JPanel();

//用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

commandsPanel.setLayout(new GridLayout(1, 3, 3, 3));

for (int i = 0; i COMMAND.length; i++) {

commands[i] = new JButton(COMMAND[i]);

commandsPanel.add(commands[i]);

commands[i].setForeground(Color.red);

}

//初始化M键,用红色标示,将M键放在一个画板内

JPanel calmsPanel = new JPanel();

//用网格布局管理器,5行,1列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calmsPanel.setLayout(new GridLayout(5, 1, 3, 3));

for (int i = 0; i M.length; i++) {

m[i] = new JButton(M[i]);

calmsPanel.add(m[i]);

m[i].setForeground(Color.red);

}

//下面进行计算器的整体布局,将calckeys和command画板放在计算器的中部,

//将文本框放在北部,将calms画板放在计算器的西部。

//新建一个大的画板,将上面建立的command和calckeys画板放在该画板内

JPanel panel1 = new JPanel();

//画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为3象素

panel1.setLayout(new BorderLayout(3, 3));

panel1.add("North", commandsPanel);

panel1.add("Center", calckeysPanel);

//建立一个画板放文本框

JPanel top = new JPanel();

top.setLayout(new BorderLayout());

top.add("Center", resultText);

//整体布局

getContentPane().setLayout(new BorderLayout(3, 5));

getContentPane().add("North", top);

getContentPane().add("Center", panel1);

getContentPane().add("West", calmsPanel);

//为各按钮添加事件侦听器

//都使用同一个事件侦听器,即本对象。本类的声明中有implements ActionListener

for (int i = 0; i KEYS.length; i++) {

keys[i].addActionListener(this);

}

for (int i = 0; i COMMAND.length; i++) {

commands[i].addActionListener(this);

}

for (int i = 0; i M.length; i++) {

m[i].addActionListener(this);

}

}

/**

* 处理事件

*/

public void actionPerformed(ActionEvent e) {

//获取事件源的标签

String label = e.getActionCommand();

if (label.equals(COMMAND[0])){

//用户按了"Backspace"键

handleBackspace();

} else if (label.equals(COMMAND[1])) {

//用户按了"CE"键

resultText.setText("0");

} else if (label.equals(COMMAND[2])){

//用户按了"C"键

handleC();

} else if ("0123456789.".indexOf(label) = 0) {

//用户按了数字键或者小数点键

handleNumber(label);

// handlezero(zero);

} else {

//用户按了运算符键

handleOperator(label);

}

}

/**

* 处理Backspace键被按下的事件

*/

private void handleBackspace() {

String text = resultText.getText();

int i = text.length();

if (i 0) {

//退格,将文本最后一个字符去掉

text = text.substring(0, i - 1);

if (text.length() == 0) {

//如果文本没有了内容,则初始化计算器的各种值

resultText.setText("0");

firstDigit = true;

operator = "=";

} else {

//显示新的文本

resultText.setText(text);

}

}

}

/**

* 处理数字键被按下的事件

* @param key

*/

private void handleNumber(String key) {

if (firstDigit) {

//输入的第一个数字

resultText.setText(key);

} else if ((key.equals(".")) (resultText.getText().indexOf(".") 0)){

//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面

resultText.setText(resultText.getText() + ".");

} else if (!key.equals(".")) {

//如果输入的不是小数点,则将数字附在结果文本框的后面

resultText.setText(resultText.getText() + key);

}

//以后输入的肯定不是第一个数字了

firstDigit = false;

}

/**

* 处理C键被按下的事件

*/

private void handleC() {

//初始化计算器的各种值

resultText.setText("0");

firstDigit = true;

operator = "=";

}

/**

* 处理运算符键被按下的事件

* @param key

*/

private void handleOperator(String key) {

if (operator.equals("/")) {

//除法运算

//如果当前结果文本框中的值等于0

if (getNumberFromText() == 0.0){

//操作不合法

operateValidFlag = false;

resultText.setText("除数不能为零");

} else {

resultNum /= getNumberFromText();

}

} else if (operator.equals("1/x")) {

//倒数运算

if (resultNum == 0.0){

//操作不合法

operateValidFlag = false;

resultText.setText("零没有倒数");

} else {

resultNum = 1 / resultNum;

}

} else if (operator.equals("+")){

//加法运算

resultNum += getNumberFromText();

} else if (operator.equals("-")){

//减法运算

resultNum -= getNumberFromText();

} else if (operator.equals("*")){

//乘法运算

resultNum *= getNumberFromText();

} else if (operator.equals("sqrt")) {

//平方根运算

resultNum = Math.sqrt(resultNum);

} else if (operator.equals("%")){

//百分号运算,除以100

resultNum = resultNum / 100;

} else if (operator.equals("+/-")){

//正数负数运算

resultNum = resultNum * (-1);

} else if (operator.equals("=")){

//赋值运算

resultNum = getNumberFromText();

}

if (operateValidFlag) {

//双精度浮点数的运算

long t1;

double t2;

t1 = (long) resultNum;

t2 = resultNum - t1;

if (t2 == 0) {

resultText.setText(String.valueOf(t1));

} else {

resultText.setText(String.valueOf(resultNum));

}

}

//运算符等于用户按的按钮

operator = key;

firstDigit = true;

operateValidFlag = true;

}

/**

* 从结果文本框中获取数字

* @return

*/

private double getNumberFromText() {

double result = 0;

try {

result = Double.valueOf(resultText.getText()).doubleValue();

} catch (NumberFormatException e){

}

return result;

}

public static void main(String args[]) {

Calculator calculator1 = new Calculator();

calculator1.setVisible(true);

calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

求一个用java socket编写的聊天室程序,能运行的附带源码,有客户端和服务器端

也不知道怎么说怎么用,我写的代码,很久了,用的是awt,感觉Java在应用程序上没前景所以就没在深入了……现在主攻J2ee,代码给你,你自己感觉吧

服务端:

import java.io.*;

import java.net.*;

import java.util.*;

public class ChatServer {

boolean started = false;

ServerSocket ss = null;

ListClient clients = new ArrayListClient();

public static void main(String[] args) {

new ChatServer().start();

}

public void start() {

try {

ss = new ServerSocket(8888);

started = true;

} catch (BindException e) {

System.out.println("端口使用中....");

System.out.println("请关掉相关程序并重新运行服务器!");

System.exit(0);

} catch (IOException e) {

e.printStackTrace();

}

try {

while(started) {

Socket s = ss.accept();

Client c = new Client(s);

System.out.println("a client connected!");

new Thread(c).start();

clients.add(c);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

ss.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

class Client implements Runnable {

private Socket s;

private DataInputStream dis = null;

private DataOutputStream dos = null;

private boolean bConnected = false;

public Client(Socket s) {

this.s = s;

try {

dis = new DataInputStream(s.getInputStream());

dos = new DataOutputStream(s.getOutputStream());

bConnected = true;

} catch (IOException e) {

e.printStackTrace();

}

}

public void send(String str) {

try {

dos.writeUTF(str);

} catch (IOException e) {

e.printStackTrace();

}

}

public void run() {

try {

while(bConnected) {

String str = dis.readUTF();

System.out.println(str);

for(int i=0; iclients.size(); i++) {

Client c = clients.get(i);

c.send(str);

}

}

} catch (EOFException e) {

System.out.println("Client closed!");

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if(dis != null) dis.close();

if(dos != null) dos.close();

if(s != null) {

s.close();

//s = null;

}

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

}

}

客户端,开两个就能聊了……

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.net.*;

public class ChatClient extends Frame {

Socket s = null;

DataOutputStream dos = null;

DataInputStream dis = null;

private boolean bConnected = false;

TextField tfTxt = new TextField();

TextArea taContent = new TextArea();

Thread tRecv = new Thread(new RecvThread());

public static void main(String[] args) {

new ChatClient().launchFrame();

}

public void launchFrame() {

setLocation(400, 300);

this.setSize(300, 300);

add(tfTxt, BorderLayout.SOUTH);

add(taContent, BorderLayout.NORTH);

pack();

this.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent arg0) {

disconnect();

System.exit(0);

}

});

tfTxt.addActionListener(new TFListener());

setVisible(true);

connect();

tRecv.start();

}

public void connect() {

try {

s = new Socket("127.0.0.1", 8888);

dos = new DataOutputStream(s.getOutputStream());

dis = new DataInputStream(s.getInputStream());

System.out.println("connected!");

bConnected = true;

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public void disconnect() {

try {

dos.close();

dis.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

private class TFListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim();

tfTxt.setText("");

try {

dos.writeUTF(str);

dos.flush();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

private class RecvThread implements Runnable {

public void run() {

try {

while(bConnected) {

String str = dis.readUTF();

taContent.setText(taContent.getText() + str + '\n');

}

} catch (SocketException e) {

System.out.println("�˳��ˣ�bye!");

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

跪求:递归下降分析程序的实现的源代码

这个可以解决你的难题

#include stdio.h

#includedos.h

#includestdlib.h

#includestring.h

char a[50] ,b[50],d[200],e[10];

char ch;

int n1,i1=0,flag=1,n=5;

int total=0;/*步骤计数器*/

int E();

int E1();

int T();

int G();/*E’*/

int S();/*T’*/

int F();

void input();

void input1();

void output();

void main() /*递归分析*/

{

int f,p,j=0;

char x;

d[0]='E';

d[1]='=';

d[2]='';

d[3]='T';

d[4]='G';

d[5]='#';

printf("请输入字符串(长度50,以#号结束)\n");

do{

scanf("%c",ch);

a[j]=ch;

j++;

}while(ch!='#');

n1=j;

ch=b[0]=a[0];

printf("步骤\t文法\t分析串\t\t分析字符\t剩余串\n");

f=E1();

if (f==0) return;

if (ch=='#')

{

printf("accept\n");

p=0;

x=d[p];

while(x!='#') {

printf("%c",x);p=p+1;x=d[p]; /*输出推导式*/

}

}else {

printf("error\n");

printf("回车返回\n");

getchar();

getchar();

return;

}

printf("\n");

printf("回车返回\n");

getchar();

getchar();

}

int E1()

{

int f,t;

printf("%d\tE--TG\t",total);total++;

flag=1;

input();

input1();

f=T();

if (f==0) return(0);

t=G();

if (t==0) return(0);

else return(1);

}

int E()

{

int f,t;

printf("%d\tE--TG\t",total);total++;

e[0]='E';e[1]='=';e[2]='';e[3]='T';e[4]='G';e[5]='#';

output();

flag=1;

input();

input1();

f=T();

if (f==0) return(0);

t=G();

if (t==0) return(0);

else return(1);

}

int T()

{

int f,t;

printf("%d\tT--FS\t",total);total++;

e[0]='T';e[1]='=';e[2]='';e[3]='F';e[4]='S';e[5]='#';

output();

flag=1;

input();

input1();

f=F();

if (f==0) return(0);

t=S();

if (t==0) return(0);

else return(1);

}

int G()

{

int f;

if(ch=='+') {

b[i1]=ch;

printf("%d\tG--+TG\t",total);total++;

e[0]='G';e[1]='=';e[2]='';e[3]='+';e[4]='T';e[5]='G';e[6]='#';

output();

flag=0;

input();input1();

ch=a[++i1];

f=T();

if (f==0) return(0);

G();

return(1);

}

printf("%d\tG--^\t",total);total++;

e[0]='G';e[1]='=';e[2]='';e[3]='^';e[4]='#';

output();

flag=1;

input();input1();

return(1);

}

int S()

{

int f,t;

if(ch=='*') {

b[i1]=ch;printf("%d\tS--*FS\t",total);total++;

e[0]='S';e[1]='=';e[2]='';e[3]='*';e[4]='F';e[5]='S';e[6]='#';

output();

flag=0;

input();input1();

ch=a[++i1];

f=F();

if (f==0) return(0);

t=S();

if (t==0) return(0);

else return(1);}

printf("%d\tS--^\t",total);total++;

e[0]='S';e[1]='=';e[2]='';e[3]='^';e[4]='#';

output();

flag=1;

a[i1]=ch;

input();input1();

return(1);

}

int F()

{

int f;

if(ch=='(') {

b[i1]=ch;printf("%d\tF--(E)\t",total);total++;

e[0]='F';e[1]='=';e[2]='';e[3]='(';e[4]='E';e[5]=')';e[6]='#';

output();

flag=0;

input();input1();

ch=a[++i1];

f=E();

if (f==0) return(0);

if(ch==')') {

b[i1]=ch;printf("%d\tF--(E)\t",total);total++;

flag=0;input();input1();

ch=a[++i1];

}

else {

printf("error\n");

return(0);

}

}

else if(ch=='i') {

b[i1]=ch;printf("%d\tF--i\t",total);total++;

e[0]='F';e[1]='=';e[2]='';e[3]='i';e[4]='#';

output();

flag=0;input();input1();

ch=a[++i1];

}

else {printf("error\n");return(0);}

return(1);

}

void input()

{

int j=0;

for (;j=i1-flag;j++)

printf("%c",b[j]); /*输出分析串*/

printf("\t\t");

printf("%c\t\t",ch); /*输出分析字符*/

}

void input1()

{

int j;

for (j=i1+1-flag;jn1;j++)

printf("%c",a[j]); /*输出剩余字符*/

printf("\n");

}

void output(){ /*推导式计算*/

int m,k,j,q;

int i=0;

m=0;k=0;q=0;

i=n;

d[n]='=';d[n+1]='';d[n+2]='#';n=n+2;i=n;

i=i-2;

while(d[i]!=''i!=0) i=i-1;

i=i+1;

while(d[i]!=e[0]) i=i+1;

q=i;

m=q;k=q;

while(d[m]!='') m=m-1;

m=m+1;

while(m!=q) {

d[n]=d[m];m=m+1;n=n+1;

}

d[n]='#';

for(j=3;e[j]!='#';j++){

d[n]=e[j];

n=n+1;

}

k=k+1;

while(d[k]!='=') {

d[n]=d[k];n=n+1;k=k+1;

}

d[n]='#';

system("pause");

}

Tensorflow 如何判断两个tensor相等?

可以用whereis命令来查看,命令主要存在的目录:/bin源中安装/sbin源中安装/usr/bin源中安装/usr/sbin源中安装/usr/local/bin用户自行编译的程序,和系统无关连,可直接删除(即卸载)/usr/local/sbin/opt/someProg/bin有时候编译安装的程序会被放在此目录下.也可编译时,指定安装在/local目录中.当然这里只是可执行文件,需要的组件可能放在别的目录,如配置目录会放在/etc中.开发unix时,受制于当时的硬件,磁带存储的限制,一个磁带无法存储整个文件系统,所以unix的目录树中好像都有两个相似的.虽然现在硬件不再成为问题,但是这种设计却一直沿用.回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢!

苹果超级签名源码和苹果企业签名有什么区别

首先来简单介绍一下这两种签名方式的原理:

超级签名是使用个人开发者账号,自动化添加苹果设备的udid,实现真机测试。

而企业签名是使用企业开发者账号,通过生成的p12证书,对应用进行签名。

超级签名与企业签名的区别:

1、是否需要越狱?

这两种签名方式都无需越狱。

2、是否需要提供UDID?

对于用户来说,这两种签名方式都不需要主动提供udid,超级签名将获取、注册udid实现了全自动化,用户直接安装即可。

3、安装之后是否需要信任

企业签名的应用,用户在安装时需要先在【设置】-【描述文件】中信任证书。

而超级签名无需信任证书,可以直接安装。

4、稳定性如何,是否会掉签?

超级签名和企业签名都有可能掉签,不过企业签名掉签的频率会多一点,尤其是共享企业签名。

而超级签名掉签的几率比较小,超级签名更加稳定。

5、是否需要提供源码?

两种签名方式都不要提供源码。

6、能否在App Store上搜索到?

两种签名方式都不能在App Store上搜索到。

7、如何收费?

目前市面上的企业签名一般按月收费,超级签名是按照下载量收费。

8、两种签名方式分别适合什么样的APP?

超级签名价格较贵,一般适合用户数量不是很多的APP,而企业签名一般对APP的类型和数量没有限制。

超级签名更加稳定,适合运营初期的APP,提高用户体验,提高用户粘性,稳定忠实用户。

微导流新版本正式上线,在线企业签名

我想知道如何查看python的源代码

按Windows+R键,在运行里输入notepad,然后将后缀名为.py的python源文件拖进notepad(词本)程序里就可以看到了。

如果要好一点的效果,就去下一个 notepad++ ,这个软件查看各种代码效果都很好

也可以下一个Uedit

如果想运行python脚本,就去下一个python安装

python自带一个IDE,可以查看、编辑与调试python代码,安装python之后可以右击后缀为.py的文件,选择Edit with IDLE,这样即可以查看,也可以调试代码

发表评论

评论列表

  • 掩吻酒事(2022-09-08 15:16:49)回复取消回复

    { super(); //初始化计算器 init(); //设置计算器的背景颜色 this.setBackground(Color.LIGHT_GRAY); this.setTitle("计算器"); //在屏幕(5

  • 怎忘纯乏(2022-09-08 23:16:43)回复取消回复

    n e) { e.printStackTrace(); } } public void run() { try { while(bConnect

  • 断渊做啡(2022-09-08 23:30:01)回复取消回复

    h.sqrt(resultNum); } else if (operator.equals("%")){ //百分号运算,除以100 resultNum = resultNum / 100; } else

  • 柔侣木緿(2022-09-09 00:59:04)回复取消回复

    s.get(i); c.send(str); } } } catch (EOFException e) { System.out.println("Client close

  • 蓝殇喜余(2022-09-08 16:21:02)回复取消回复

    } for (int i = 0; i M.length; i++) { m[i].addActionListener(this); } } /** * 处理事