实验十一

本文介绍了一个使用Java Swing创建的简易计算器程序。该程序通过GUI界面接收用户输入,并实现了基本的加法运算。代码中详细展示了如何设置窗口布局、添加文本框、按钮及监听器,以及如何处理事件并进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package jisuanqi2;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class Jisuanqi extends Frame implements ActionListener{
public Jisuanqi() {
super("计算器");
Frame ff=new Frame("framework test");
ff.setSize(400,100);
ff.setLocation(300,240);
ff.setLayout(new FlowLayout());
//this.add(new TextField("10",8));
final TextField f1=new TextField("10",8);
ff.add(f1);

//this.add(new Label("+"));
Label l1=new Label("+");
ff.add(l1);
//this.add(new TextField("20",8));
TextField f2=new TextField("20",8);
ff.add(f2);
//this.add(new Button("="));
Button b1=new Button("=");
ff.add(b1);
//this.add(new TextField(10));
TextField f3=new TextField(10);
ff.add(f3);
ff.addWindowListener(new myclose());
ff.setVisible(true);
b1.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e)
{double c;
String s1=f1.getText();
double a=Integer.parseInt(s1);
String s2=f2.getText();
double b=Integer.parseInt(s2);
c=a+b;
String m=String.valueOf(c);
f3.setText(m);

}

private double Integer(String s) {
// TODO Auto-generated method stub
return 0;
}
});

}

class myclose implements WindowListener{

public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub

}

public void windowClosed(WindowEvent arg0) {
// TODO Auto-generated method stub

}

public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}

public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub

}

public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub

}

public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub

}

public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub

}

}



public static void main(String[] args) {
// TODO 自动生成的方法存根
new Jisuanqi();
}


public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub

}


}

转载于:https://www.cnblogs.com/wuhui111/p/10999510.html

C++源代码 注重类的交互 片段 #include using namespace std; #include "elevator.h" //Elevator class definition #include "person.h" //Person class definition #include "floor.h" //Floor class definition //constants that represent time required to travel //between floors and direction of the elevator const int Elevator::ELEVATOR_TRAVEL_TIME = 5; const int Elevator::UP = 0; const int Elevator::DOWN = 1; //constructor Elevator::Elevator( Floor &firstFloor, Floor &secondFloor) : elevatorButton( * this ), currentBuildingClockTime( 0 ), moving( false ), direction( UP ), currentFloor( Floor::FLOOR1 ), arrivalTime( 0 ), floor1NeedsService( false ), floor2NeedsService( false ), floor1Ref( firstFloor ), floor2Ref( secondFloor ), passengerPtr( 0 ) { cout << "elevator constrcuted" <<endl; }// end Elevator constructor //destructor Elevator::~Elevator() { delete passengerPtr; cout << "elevator destructed" << endl; }//end Elevator destructor //give time to elevator void Elevator::processTime( int time ) { currentBuildingClockTime = time; if ( moving ) //elevator is moving processPossibleArrival(); else processPossibleDeparture(); if ( !moving ) cout << "elevator at rest on floor " << currentFloor << endl; }// end function processTime // when elevator is moving, determine if it should stop void Elevator::processPossibleArrival() { //if elevator arrives at destination floor if ( currentBuildingClockTime == arrivalTime ) { currentFloor = ( currentFloor == Floor::FLOOR1 ? Floor::FLOOR2 : Floor::FLOOR1); //update current floor direction = ( currentFloor == Floor::FLOOR1 ? UP : DOWN ); //update direction cout << "elevator arrives on floor " << currentFloor <<endl; // process arrival at currentFloor arriveAtFloor( currentFloor == Floor::FLOOR1 ? floor1Ref : floor2Ref); return; }//end if //elevator still moving cout << "elevator moving " << ( direction == UP ? "UP" : "DOWN"
### 关于王爽汇编语言教材中实验十一的内容解析 #### 实验目标 实验十一通常涉及更复杂的程序设计,可能包括中断处理、子程序调用以及堆栈操作等内容。这类实验旨在加深学生对汇编语言的理解,尤其是如何通过编程实现特定功能并优化代码性能。 #### 主要知识点 以下是实验十一可能涵盖的主要知识点及其相关内容: 1. **中断机制** 中断是计算机系统的重要组成部分,在汇编语言中可以通过 `int` 指令触发软件中断[^1]。例如,常见的 DOS 系统调用使用 `int 21h` 来完成文件读写、屏幕显示等功能。具体来说,实验可能会要求编写一段程序利用中断服务程序来打印字符串或者获取键盘输入。 2. **子程序的设计与调用** 子程序可以提高代码的可重用性和模块化程度。在汇编语言中,子程序一般由 `call` 和 `ret` 指令配合实现。当调用子程序时,CPU 自动将当前指令指针压入堆栈;返回时再弹出地址继续执行原程序[^5]。这有助于简化复杂逻辑结构下的重复性工作。 3. **堆栈的应用** 堆栈作为临时存储区域,在函数参数传递、局部变量保存等方面发挥重要作用。比如下面这段伪代码展示了如何借助堆栈完成两个数相加的任务: ```asm push ax ; 将第一个操作数压入栈顶 push bx ; 把第二个操作数也放入其中 call addition ; 调用addition子程序计算两者的总和 pop dx ; 清理掉多余的值恢复现场环境 ret ; 返回至上一层级 addition proc near pop bp ; 获取基址寄存器用于后续寻址运算 mov ax,[bp+4] add al,[bp+6] iret ; 结束整个过程并将结果送回给主程序部分 endp ``` 4. **内存管理技术** 对于较大规模的数据处理需求而言,合理规划内存布局显得尤为重要。上述提到过设置不同的段寄存器指向各自独立的空间实例即为此目的而设——分别定义了数据区A段和B段,并初始化相应内容以便进一步操作[^4]。 #### 总结 综上所述,王爽老师的《汇编语言》一书中有关实验十一的部分重点考察学员对于高级特性掌握情况的同时还强调实际动手能力培养的重要性。通过对这些理论知识深入学习加上反复实践演练才能真正领会其精髓所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值