c#Windows窗体中如何实现计算器的开方?import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator implements ActionListener{
private double data1=0.0,data2=0.0;
private String t_content;
boolean number=false;
//key用来标示用户所按下的按钮即加减乘除
//key为0标示,为1表示-,为2表示*,为3表示/
short key=-1;
//pkey的取值为-1~5
//pkey为-1表示第一次按下=按钮,为5说明不是第一次按下=按钮
//pkey为其他值0,1,2,3时分别代表 ,-,*,/
short pkey=-1;
Frame frame=new Frame("Calculator");//定义标题为Calculator的窗体
TextField textfield=new TextField(30);//定义计算机
//定义backspace,ce,c0按钮
Button backspace=new Button("Backspace");
Button ce=new Button("CE");
Button c0=new Button("C");
//定义面板,其中backspace,ce,c0按钮和计算机兰textfeild放在面板p1中
//其余按钮放在面板p2中
Panel p1=new Panel();
Panel p2=new Panel();
//定义界面上的按钮数组,即除去backspace,ce,c0按钮的所有按钮
String names[]=;
Button bb[]=new Button[names.length];
public static void main(String[] args){
Calculator cal=new Calculator();
cal.go();
}
public void go(){
frame.setSize(300,200);
frame.setLayout(new BorderLayout());
Font fonts=new Font("楷体_GB2312",Font.PLAIN,12);// 第一页
//设置面板p1的字体和布局管理类型,将textfeild对象添加到面板中
p1.setFont(fonts);
p1.setLayout(new GridLayout(2,1,5,10));
textfield.setFont(fonts);
p1.add(textfield,null);
//backspace,ce,c0按钮注册addActionListener方法
backspace.addActionListener(this);
ce.addActionListener(this);
c0.addActionListener(this);
//将backspace,ce,c0按钮添加到p1面板中
p1.add(backspace,null);
p1.add(ce,null);
p1.add(c0,null);
//设置面板p2的布局管理器类型为GridLayout
p2.setLayout(new GridLayout(4,5,5,5));
//为按钮组中的按钮注册addActionListener方法
for(int i=0;inames.length;i){
bb[i]=new Button(names[i]);
p2.add(bb[i]);
bb[i].addActionListener(this);
}
//设置面板p1和面板p2在窗体中的位置
//面板p1在窗体的North方向,面板p2在窗体的South方向
frame.add(p1,BorderLayout.NORTH);
frame.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
//当单击关闭按钮时退出系统
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent ae){
String s;
//通过ActionEvent类的getActionCommand()方法,得出动作是由哪个按钮触发的 。//第二页
s=ae.getActionCommand();
//用户单击一次,计算栏里便去掉一个字符
//先将计算栏里的字符清空,再添加除最好一个字符的字符串
if(s.equals("Backspace")number){
t_content=textfield.getText();
textfield.setText("");
for(int i=0;it_content.length()-1;i){
char c=t_content.charAt(i);
textfield.setText(textfield.getText() c);
}
}
//用户单击的是CE按钮,计算栏清空
if(s.equals("CE")){
textfield.setText("");
number=false;
}
//用户单击的是C按钮
if(s.equals("C")){
textfield.setText("");
data1=data2=0.0;
number=false;
}
//用户单击的是sqrt按钮,其中负数不能被开方
if(s.equals("sqrt")number){
t_content=textfield.getText();
if(t_content.charAt(0)=='-'){
textfield.setText("负数不能被开方");
number=false;
}else{
textfield.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(t_content))));
}
}
//用户单击的是1/x求倒数按钮 , 求倒数时分母不能为0
if(s.equals("1/x")number){
t_content=textfield.getText();
if(t_content.equals("0")){//第三页
textfield.setText("零不能求倒数");
number=false;
}else{
textfield.setText(Double.toString(1/Double.parseDouble(t_content)));
}
}
//用户单击的是%按钮
if(s.equals("%")number){
if(data2==0){
t_content=textfield.getText();
textfield.setText(t_content);
}else{
boolean g=false;
for(int i=0;itextfield.getText().length();i)
if('.'==textfield.getText().charAt(i)){
g=true;
break;
}
//如果是Double 数,除100
if(g=true){
double dtemp=Double.parseDouble(textfield.getText());
dtemp=dtemp/100.0;
textfield.setText(Double.toString(dtemp));
}
//如果是int数但能被100整除,则去掉末尾两个0
else{
if(Integer.parseInt(textfield.getText())0==0){
int itemp=Integer.parseInt(textfield.getText());
itemp/=100;
textfield.setText(Integer.toString(itemp));
}
//如果是int数,但不能被100整除,则按Double数处理
else{
double dtemp=Double.parseDouble(textfield.getText());
dtemp=dtemp/100.0;
textfield.setText(Double.toString(dtemp));
}
}
}//第四页
}
【go语言怎么开方 go语言 gc】//对正负数字的处理
if(s.equals(" /-")){
t_content=textfield.getText();
if(t_content.charAt(0)=='-'){
textfield.setText("");
String content;
for(int i=1;it_content.length();i){
textfield.setText(textfield.getText() t_content.charAt(i));
}
}else{
textfield.setText("-" t_content);
}
}
//所按下的按钮为 按钮
if(s.equals(" ")){
switch(pkey){
case 0:
data2 =Double.parseDouble(textfield.getText());
break;
case 1:
data2 =Double.parseDouble(textfield.getText());
break;
case2:
data2 =Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=0;
textfield.setText("");
}
//第五页
//所按下的按钮为-按钮
if(s.equals("-")){
switch(pkey){
case 0:
data2 =Double.parseDouble(textfield.getText());
break;
case 1:
data2 =Double.parseDouble(textfield.getText());
break;
case2:
data2 =Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=1;
textfield.setText("");
}
//所按下的按钮为*按钮
if(s.equals("*")){
switch(pkey){
case 0:
data2 =Double.parseDouble(textfield.getText());
break;
case 1:
data2 =Double.parseDouble(textfield.getText());
break;
case2:
data2 =Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){// 第六页
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=2;
textfield.setText("");
}
//所按下的按钮为/按钮
if(s.equals("/")){
switch(pkey){
case 0:
data2 =Double.parseDouble(textfield.getText());
break;
case 1:
data2 =Double.parseDouble(textfield.getText());
break;
case2:
data2 =Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=3;
textfield.setText("");
}//第七页
//所按下的按钮为=,求结果
if(s.equals("=")number){
//如果不是第一次按下=按钮
if(pkey==5){
switch(pkey){
case 0:
data2 =data1;
textfield.setText(Double.toString(data2));
break;
case 1:
data2-=data1;
textfield.setText(Double.toString(data2));
break;
case 2:
data2*=data1;
textfield.setText(Double.toString(data2));
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
}
}
//如果是第一次按下=按钮
else{
data1=Double.parseDouble(textfield.getText());
switch(key){
case 0:
key=-1;
data2 =Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
case 1:
key=-1;
data2-=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));//第八页
break;
case 2:
key=-1;
data2*=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
}
}
}
pkey=5;
}
//按下的按钮时数字按钮
else{
switch(s.charAt(0)){
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
number=true;
textfield.setText(textfield.getText() s);
break;
//对.的处理
case'.':
t_content=textfield.getText();
boolean g=false;//第九页
//对计算机栏中的数据进行检验
//如果其中有小数点,则用户单击该按钮时不在添加小数点
for(int i=0;it_content.length();i){
if(t_content.charAt(i)=='.'){
g=true;
break;
}
}
//数据中已经有小数点
if(g==true)
break;
// 数据中没有小数点,当用户单击小数点时添加小数点
if(g==false)
textfield.setText(t_content ".");
}
}
}
private String Integer(String string) {
// TODO Auto-generated method stub
return null;
}
}
GO语言是什么语言?我们应该怎么学?Go语言是谷歌推出go语言怎么开方的一种全新的编程语言go语言怎么开方,可以在不损失应用程序性能的情况下降低代码的复杂性 。谷歌首席软件工程师罗布派克(Rob Pike)说:go语言怎么开方我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧 。
Go是谷歌2009发布的第二款编程语言 。2009年7月份,谷歌曾发布go语言怎么开方了Simple语言,它是用来开发Android应用的一种BASIC语言.
北京时间2010年1月10日 , Go语言摘得go语言怎么开方了TIOBE公布的2009年年度大奖 。该奖项授予在2009年市场份额增长最多的编程语言 。
谷歌资深软件工程师罗布·派克(Rob Pike)表示 , "Go让我体验到了从未有过的开发效率 。"派克表示 , 今天的C或C一样,Go是一种系统语言 。他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源 , 原因是我们认为它已经非常有用和强大 。"
2007年 , 谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上 。除了派克外 , 该项目的成员还有其他谷歌工程师也参与研发 。
派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言 。现有编程语言均未专门对多核处理器进行优化 。Go就是谷歌工程师为这类程序编写的一种语言 。它不是针对编程初学者设计的,但学习使用它也不是非常困难 。Go支持面向对象,而且具有真正的闭包(closures)和反射 (reflection)等功能 。
在学习曲线方面 , 派克认为Go与Java类似,对于Java开发者来说 , 应该能够轻松学会 Go 。之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如 Eclipse IDE中的插件 。
在谷歌公开发布的所有网络应用中,均没有使用Go , 但是谷歌已经使用该语言开发了几个内部项目 。派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,还言之尚早,不过Go的确可以和Native Client配合使用 。他表示"Go可以让应用完美的运行在浏览器内 。"例如,使用Go可以更高效的实现Wave , 无论是在前端还是后台 。
Go 同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x64和32位x86计算机的一套编译器(6g和8g) 。谷歌目前正在研发其对ARM芯片和Android设备的支持 。派克表示,"Android手机存在的问题是,我们一直没有一个数学协处理器 。"
windows 怎么编译 go语言1、解压压缩包到go工作目录go语言怎么开方,如解压到E:\opensource\go\gogo语言怎么开方,解压后go语言怎么开方的目录结构如下go语言怎么开方:
E:\opensource\go\go
├─api
├─bin
│├─go.exe
│├─godoc.exe
│└─gofmt.exe
├─doc
├─include
├─lib
├─misc
├─pkg
├─src
└─test
2、增加环境变量GOROOT,取值为上面的go工作目录
3、Path环境变量中添加";%GOROOT%\bin",以便能够直接调用go命令来编译go代码 , 至此go编译环境就配置好了
注go语言怎么开方:如果不想手动设置系统环境变量,也可下载go启动环境批处理附件,
修改goenv.bat文件中的GOROOT值为上面的go工作目录后直接双击该bat文件,go编译环境变量即设置完成 。
4、测试go编译环境,启动一个cmd窗口,直接输入go , 看到下面的提示就是搭建成功了
E:\opensource\go\gogo
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
buildcompile packages and dependencies
cleanremove object files
docrun godoc on package sources
envprint Go environment information
fixrun go tool fix on packages
fmtrun gofmt on package sources
getdownload and install packages and dependencies
installcompile and install packages and dependencies
listlist packages
runcompile and run Go program
testtest packages
toolrun specified go tool
versionprint Go version
vetrun go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
gopathGOPATH environment variable
packagesdescription of package lists
remoteremote import path syntax
testflagdescription of testing flags
testfuncdescription of testing functions
Use "go help [topic]" for more information about that topic.
5、编译helloworld测试程序,go语言包中test目录带有helloworld.go测试程序 , 源码见"附一 helloworld.go",
直接调用"go build helloworld.go"就生成了"helloworld.exe"可执行程序,运行一下这个程序看到了我们期望的hello,wolrd 。
E:\opensource\go\go\testgo build helloworld.go
E:\opensource\go\go\testhelloworld.exe
hello, world
E:\opensource\go\go\test
附一 helloworld.go
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test that we can do page 1 of the C book.
package main
func main() {
print("hello, world\n")
}
go语言怎么开方的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言 gc、go语言怎么开方的信息别忘了在本站进行查找喔 。
推荐阅读
- postgre存储文件,post数据放在哪里
- linux后台命令vi的简单介绍
- 7676棋牌游戏的简单介绍
- mysql数据怎么编辑 mysql数据库编辑
- 放心的mysql连接数据库,mysql57连接数据库
- 手机推荐狙击射击游戏下载,手机狙击枪游戏
- c语言键盘检测函数 c语言判断键盘输入的字符类型
- 营销会员系统如何安装使用,会员营销app
- 动作游戏单机古风游戏,古风动作类游戏