结对作业(1.0版)(bug1已修复)
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已修复)的更多相关文章
- 结对作业——WordCount进阶版
Deadline: 2018-10-7 22:00PM,以博客提交至班级博客时间为准 要求参考来自:https://www.cnblogs.com/xinz/archive/2011/11/27/22 ...
- 结对作业-WordCount进阶版
1.在文章开头给出博客作业要求地址. 博客园地址:https://www.cnblogs.com/happyzm/p/9559372.html 2.给出结对小伙伴的学号.博客地址,结对项目的码云地址. ...
- C语言--第1次作业2.0版
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过一周C语言的正式课堂学习,不同于暑期时扒视频囫囵吞枣式学习,林丽老师的讲解详细异常,尽管已经学习了一部分内 ...
- [2019BUAA软件工程]结对作业
Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...
- SWFUpload 2.5.0版 官方说明文档 中文翻译版
原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...
- 软件工程第三次作业-结对作业NO.1
第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...
- 软工实践——结对作业2【wordCount进阶需求】
附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...
- 【转】SWFUpload 官方说明文档(2.5.0版)
原文出自:http://www.runoob.com/w3cnote/swfupload-document.html SWFUpload使用指南请查阅:http://www.w3cschool.cc/ ...
- 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)
TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Jav ...
随机推荐
- Hadoop的HDFS和MapReduce的安装(三台伪分布式集群)
一.创建虚拟机 1.从网上下载一个Centos6.X的镜像(http://vault.centos.org/) 2.安装一台虚拟机配置如下:cpu1个.内存1G.磁盘分配20G(看个人配置和需求,本人 ...
- C 修真之旅
前言 - 那久远的故事 工作好多年, 有时脑海里总回想儿时看的梦. 那时还刚上初中, 班上个子小的同学, 闲暇娱乐可能就是看 <飘渺之旅> 之类的小说. 前几年尝试满足自己少年时的记忆. ...
- Scala中class、object、case class、case object区别
/** class.object.case class.case object区别 * * class 类似Java中的class: * object Scala不能定义静态成员,用定义单例对象代之: ...
- NLPIR分词(c++接口整理)
C/C++接口——对应的各个函数 函数1-bool NLPIR_Init(const char * sInitDirPath=0, int encoding=GBK_CODE,constchar*sL ...
- Spring学习(十四)----- Spring Auto Scanning Components —— 自动扫描组件
一. Spring Auto Scanning Components —— 自动扫描组件 1. Declares Components Manually——手动配置componen ...
- 在Telnet中用FTP传输文件
如果用 Telnet 传输文件? 在自己的机子上架设FTP服务器,然后登陆远程机后,就可以登录自己的FTP.利用PUT(上传命令),就可以把远程电脑的文件下载下来. 如果出现连接不上FTP,也 ...
- Docker Manager for Kubernetes
一.Kubernetes介绍 Kubernets是Google开源的容器集群系统,是基于Docker构建一个容器的调度服务,提供资源调度,均衡容灾,服务注册,动态伸缩等功能套件: Kubernets提 ...
- Unity新版本VR以及SteamVR基础
一.Unity2018新版本VR Unity 简单VRDemo搭建 Unity环境搭建: PlayerSetting设置如下: 启动虚拟现实驱动,sdk选择OpenVR.HTC Vive只支持Ope ...
- git push失败
不知道弄错了什么上传项目到github上失败 git commit的时候提示 On branch masternothing to commit, working tree clean git pus ...
- 廖雪峰git教程学习笔记
对git来说,没有消息就是最好的消息 使用 git init 把当前目录变为git仓库 要在仓库里加入文件,先在仓库目录新建这个文件后,比如新建一个文件xiaobai.txt,内容为: 在命令行里输入 ...