import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.Font;
import javax.swing.JTextPane;
import javax.swing.JButton;
import java.awt.Color;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.*;
import java.util.Random; public class SiZeYunSuan { private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
int num=5,T=0,F=0,count=1;
int ranswer=0;
int uanswer=0;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JTextField textField_7;
private boolean stop = false;
String str="";
String z="";
JTextPane textPane = new JTextPane();
JButton button = new JButton("\u5F00\u59CB\u7B54\u9898");
long startTime;
long endTime;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SiZeYunSuan window = new SiZeYunSuan();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the application.
*/
public SiZeYunSuan() {
initialize();
} /**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setResizable(false); JPanel panel = new JPanel();
GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 448, GroupLayout.PREFERRED_SIZE)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 487, Short.MAX_VALUE)
); textPane.setFont(new Font("Microsoft Sans Serif", Font.BOLD, 22));
textPane.setEditable(false);
textPane.setToolTipText("");
textPane.setBackground(Color.WHITE); JPanel panel_1 = new JPanel();
panel_1.setBackground(new Color(204, 204, 204)); button.setBackground(Color.GREEN); JButton button_1 = new JButton("\u9000\u51FA");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
button_1.setBackground(Color.RED); JLabel lblNewLabel = new JLabel(" \u8F93\u5165\u9898\u6570\uFF1A");
lblNewLabel.setFont(new Font("楷体_GB2312", Font.PLAIN, 15));
lblNewLabel.setForeground(new Color(0, 0, 0)); JLabel label = new JLabel(" \u7B54\u5BF9\u9898\u6570\uFF1A");
label.setFont(new Font("楷体_GB2312", Font.PLAIN, 15)); JLabel label_1 = new JLabel(" \u7B54\u9519\u9898\u6570\uFF1A");
label_1.setFont(new Font("楷体_GB2312", Font.PLAIN, 15)); JLabel label_2 = new JLabel(" \u4FE1\u606F\u53CD\u9988\uFF1A");
label_2.setFont(new Font("楷体_GB2312", Font.PLAIN, 15)); textField = new JTextField();
textField.setColumns(10); textField_1 = new JTextField();
textField_1.setForeground(Color.GREEN);
textField_1.setEditable(false);
textField_1.setColumns(10); textField_2 = new JTextField();
textField_2.setForeground(Color.RED);
textField_2.setEditable(false);
textField_2.setColumns(10); textField_3 = new JTextField();
textField_3.setFont(new Font("宋体", Font.PLAIN, 12));
textField_3.setForeground(Color.RED);
textField_3.setEditable(false);
textField_3.setColumns(10); JLabel label_3 = new JLabel(" \u6B63\u786E\u7B54\u6848\uFF1A");
label_3.setFont(new Font("Dialog", Font.PLAIN, 15)); JLabel label_4 = new JLabel(" \u8F93\u5165\u7B54\u6848\uFF1A");
label_4.setFont(new Font("Dialog", Font.PLAIN, 15)); JLabel label_5 = new JLabel(" \u5F53\u524D\u9898\u6570\uFF1A");
label_5.setFont(new Font("Dialog", Font.PLAIN, 15)); textField_4 = new JTextField();
textField_4.setEditable(false);
textField_4.setColumns(10); textField_5 = new JTextField();
textField_5.setColumns(10); textField_6 = new JTextField();
textField_6.setFont(new Font("Yu Gothic", Font.BOLD, 14));
textField_6.setForeground(Color.CYAN);
textField_6.setEditable(false);
textField_6.setColumns(10); JLabel label_6 = new JLabel(" \u6240\u7528\u65F6\u95F4\uFF1A");
label_6.setFont(new Font("Dialog", Font.PLAIN, 15)); textField_7 = new JTextField();
textField_7.setFont(new Font("宋体", Font.PLAIN, 14));
textField_7.setEditable(false);
textField_7.setColumns(10);
GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(11)
.addComponent(lblNewLabel, GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
.addGap(110))
.addGroup(gl_panel_1.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(label_5, GroupLayout.PREFERRED_SIZE, 90, GroupLayout.PREFERRED_SIZE)
.addComponent(label, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
.addPreferredGap(ComponentPlacement.RELATED))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_3, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
.addPreferredGap(ComponentPlacement.RELATED)))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_1)
.addPreferredGap(ComponentPlacement.RELATED)))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_4)
.addPreferredGap(ComponentPlacement.RELATED)))
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(textField_2, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
.addComponent(textField_1, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
.addComponent(textField_4, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(textField, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED, 13, Short.MAX_VALUE))
.addComponent(textField_5, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
.addComponent(textField_6, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE))
.addGap(66))
.addGroup(Alignment.LEADING, gl_panel_1.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel_1.createParallelGroup(Alignment.TRAILING, false)
.addComponent(label_6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(label_2, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(textField_7, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
.addComponent(button_1, GroupLayout.PREFERRED_SIZE, 82, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 75, GroupLayout.PREFERRED_SIZE))
.addContainerGap(10, Short.MAX_VALUE))
.addGroup(Alignment.LEADING, gl_panel_1.createSequentialGroup()
.addGap(52)
.addComponent(button)
.addContainerGap(91, Short.MAX_VALUE))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addComponent(button, GroupLayout.PREFERRED_SIZE, 42, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(18)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(label_5, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_4, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(40)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_6, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addComponent(label_3, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)))
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_5, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addComponent(label_4, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(label, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addComponent(label_1)))
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(206)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(label_2, GroupLayout.PREFERRED_SIZE, 26, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(label_6, GroupLayout.PREFERRED_SIZE, 26, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_7, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
.addGap(33)
.addComponent(button_1, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
.addGap(40))
);
panel_1.setLayout(gl_panel_1); button.addActionListener(new ActionListener(){//开始答题
public void actionPerformed(ActionEvent e)
{
count=1;
T=0;F=0;
str="";
z="";
stop=false;
textField_6.setText("");
textField_4.setText(""+count);
try{
num=Integer.parseInt(textField.getText());
if(num>5)
{ textPane.setText("输入题数错误,请重新输入!(1~5)");
textField.setText("");
}
else
{
startTime=System.currentTimeMillis();
textField_1.setText(""+T);
textField_2.setText(""+F);
button.setVisible(false);
textField.setEditable(false);
showtext();
}
}
catch(NumberFormatException e1)
{
textPane.setText("输入题数错误,请重新输入!(1~5)");
textField.setText("");
} }
});
textField_5.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{try{
if(!stop)
{ uanswer=Integer.parseInt(textField_5.getText());
if(num==count)
{
if(uanswer==ranswer)
{
textField_6.setText(""+ranswer);
textField_3.setText("答对!");
T++;
textField_1.setText(""+T);
count++;
}
else
{
textField_6.setText(""+ranswer);
textField_3.setText("答错!");
F++;
textField_2.setText(""+F);
count++;
}
stop=true;
textField_3.setText(" 答題結束!");
endTime=System.currentTimeMillis();
textField.setEditable(true);
button.setVisible(true);
textField_7.setText((endTime-startTime)/1000+"s"); }
else if(uanswer==ranswer)
{
textField_6.setText(""+ranswer);
textField_3.setText("答对!");
T++;
textField_1.setText(""+T);
showtext();
count++; }
else
{
textField_6.setText(""+ranswer);
textField_3.setText("答错!");
F++;
textField_2.setText(""+F);
showtext();
count++;
}
}
} catch(NumberFormatException e2)
{
textPane.setText(str+"答案格式错误,请重新输入答案!");
textField_5.setText("");
} }
});
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(textPane, GroupLayout.PREFERRED_SIZE, 243, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panel_1, GroupLayout.PREFERRED_SIZE, 196, GroupLayout.PREFERRED_SIZE)
.addGap(28))
);
gl_panel.setVerticalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(textPane, GroupLayout.PREFERRED_SIZE, 484, GroupLayout.PREFERRED_SIZE)
.addComponent(panel_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panel.setLayout(gl_panel);
frame.getContentPane().setLayout(groupLayout);
frame.setBounds(100, 100, 454, 518);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void showtext()
{
char op='+';
int a=0,b=0,c=0,e=0,f=0,opnum=0,chioce=0;
int temp=0;
Random ra =new Random();
e=ra.nextInt(10)+1;
f=ra.nextInt(10)+1;
chioce=ra.nextInt(2)+1;
if(e%2==0)
{
a=ra.nextInt(10)+2;
}
else
{
a=-ra.nextInt(10)+2;
}
if(f%2==0)
{
b=ra.nextInt(10)+2;
}
else
{
b=-ra.nextInt(10)+2;
}
c=ra.nextInt(5);
opnum=Math.abs(ra.nextInt())%4+1;
textField_5.setText("");
switch(chioce)
{
case 1:
{
switch(opnum)
{
case 1:
op='+';
break;
case 2:
op='-';
break;
case 3:
op='*';
break;
case 4:
op='/';
break;
} if((op=='-') && (a<b))
{
temp=a;
a=b;
b=temp;
} if(op=='/')
{
if(b==0)
{
b=1;
}
a=a*b;
}
if(a>0&&b>0)
{
z=String.valueOf(a)+String.valueOf(op)+String.valueOf(b)+"="+"\n";
}
else if(a<0&&b>0)
{
z="("+String.valueOf(a)+")"+String.valueOf(op)+String.valueOf(b)+"="+"\n";
}
else if(a>0&&b<0)
{
z=String.valueOf(a)+String.valueOf(op)+"("+String.valueOf(b)+")"+"="+"\n";
}
else
{
z="("+String.valueOf(a)+")"+String.valueOf(op)+"("+String.valueOf(b)+")"+"="+"\n";
}
str=str+z;
textPane.setText(str); switch(op)
{
case '+': ranswer=a+b; break;
case '-': ranswer=a-b; break;
case '*': ranswer=a*b; break;
case '/': ranswer=a/b; break;
}
break;
}
case 2:
{
int jc=1;
str=str+String.valueOf(c)+"!="+"\n";
textPane.setText(str);
for(int i=c;i>0;i--)
{
jc=jc*i;
}
ranswer=jc;
break;
}
}
}
}

程序运行截图如下:

===一开始的进去的界面

===程序设定的是输入1~5的题数,如果输入不正确会提示重新输入~~

===输入正确后按开始答题按钮,按钮会消失,并且输入题数的框是不可改的。用户只能在输入答案的框内输入,当题数答完后,输入题数的框可以重新输入,开始答题的按钮会重新出现~~~

===每答完一题,界面会显示正确答案和判断对错,并且显示答对的题数和答错的题数,答题结束后,界面显示用户答题的所用时间,然后用户可以重新输入答题的题数,重新开始或者按退出按钮退出~~~

===作业中的照片,人太丑,不敢露脸~~~

这个结对作业,我们估计的总用时是8-10小时,结果我们用了7个小时完成了这个实验,比预计的快了一个小时。

1.我们用的是Eclipse(java)进行编程的

2.我们完成的内容是:

(2).可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8

(3)用户答题结束以后,程序可以显示用户答题所用的时间

(4)用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

(6)程序可以出单个整数阶乘的题目:如:4!=24

3.本次结对的同学为 :

201306114305 欧其锋  博客:http://www.cnblogs.com/ouqifeng/

201306114305 吕日荣  博客:http://www.cnblogs.com/Russelling/

4.这个编程过程中,框架界面是共同完成的,欧其锋完成的功能是(2)(3),吕日荣完成的功能是(4)(6);

总结:通过这次实验,我觉得我们的收获还是挺大的,首先这个实验要求我们能够提高效率,因为结对的作用就是为了提高工作的效率,这方面我们还是做到了,我们用的时间比预想的时间少了。其次这个实验其实最难的部分是界面的实现,做界面这个东西,我们运用到了WindowBuilder,这个东西让我们在做界面的时候提高了效率,也提高了容错率,在这方面我觉得这个东西帮到了我们很多。最后就是功能与面板之间的一个支持方面的难点,我们在这方面使用了很多很多时间去解决这个问题。    我们觉得,这个实验其实只是一个开始,毕竟我们寻找bug的能力还有所缺陷,我们想到的范围还是比较狭隘的,我们希望这个实验是我们提高的一个阶段,当老师寻找到bug的时候,我们会继续去思考,解决这些bug,完善这个程序。

这只是1.0的版本,后期会有功能更加完善的功能的2.0,3.0版,请期待!

bug1已经修改好了,代码更新了,解决方法是将NumberFormatException加入一个异常处理,除了输入题数的框修改外,输入答案的框也进行了异常处理;

修复后的截图如下:

结对作业(1.0版)(bug1已修复)的更多相关文章

  1. 结对作业——WordCount进阶版

    Deadline: 2018-10-7 22:00PM,以博客提交至班级博客时间为准 要求参考来自:https://www.cnblogs.com/xinz/archive/2011/11/27/22 ...

  2. 结对作业-WordCount进阶版

    1.在文章开头给出博客作业要求地址. 博客园地址:https://www.cnblogs.com/happyzm/p/9559372.html 2.给出结对小伙伴的学号.博客地址,结对项目的码云地址. ...

  3. C语言--第1次作业2.0版

    1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过一周C语言的正式课堂学习,不同于暑期时扒视频囫囵吞枣式学习,林丽老师的讲解详细异常,尽管已经学习了一部分内 ...

  4. [2019BUAA软件工程]结对作业

    Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1   预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...

  5. SWFUpload 2.5.0版 官方说明文档 中文翻译版

    原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...

  6. 软件工程第三次作业-结对作业NO.1

    第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...

  7. 软工实践——结对作业2【wordCount进阶需求】

    附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...

  8. 【转】SWFUpload 官方说明文档(2.5.0版)

    原文出自:http://www.runoob.com/w3cnote/swfupload-document.html SWFUpload使用指南请查阅:http://www.w3cschool.cc/ ...

  9. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)

    TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Jav ...

随机推荐

  1. 一个C语言内存管理模块的实现

    C 内存管理模块的编写 C语言手动管理内存很困难,有时候很难发现内存泄漏,这两天看了一下里面有写了一个简单的内存管理模块,发现挺精巧,可以有效检测内存泄漏 原理很简单,就是把C的malloc函数分配的 ...

  2. to improve sqlite performance

    INSERT is really slow - I can only do few dozen INSERTs per second http://www.sqlite.org/faq.html#q1 ...

  3. 20155239 2017-11-19 实现mypwd(选做,加分)

    20155239 2017-11-19 实现mypwd(选做,加分) 题目和要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd ...

  4. JavaEE笔记(四)

    sql的完整顺序完整的sql语句,由6个子句组成1. from2. where3. group by4. select5. having6. order by # having 和 where的区别w ...

  5. 2-5 re模块练习题

    1 练习: 1.验证手机号是否合法 2.验证邮箱是否合法 3.开发一个简单的python计算器,实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2 ...

  6. GNS3 jungle newsfeed 隐藏

    windows 7 windows 8.1 1.开始---运行 输入(没有引号):“%appdata%” 2.修改---GNS3/gns3_gui.ini 的两行参数 "default_lo ...

  7. 【轮子狂魔】抛弃IIS,打造个性的Web Server - WebAPI/Lua/MVC(附带源码)

    引言 此篇是<[轮子狂魔]抛弃IIS,向天借个HttpListener - 基础篇(附带源码)>的续篇,也可以说是提高篇,如果你对HttpListener不甚了解的话,建议先看下基础篇. ...

  8. docker-compose 部署 EFK

    信息: Docker版本($ docker --version):Docker版本18.06.1-ce,版本e68fc7a 系统信息($ cat /etc/centos-release):CentOS ...

  9. QTP日常积累

    1.init同步测试对象 同步测试对象: CODE: Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit(" ...

  10. Centos6.8操作防火墙

    设置防火墙iptables开放3306接口 在/etc/sysconfig下面有个iptables文件,在控制台输入命令 iptables -I INPUT -p tcp --dport 3306 - ...