针对HIT软件构造Lab1常见问题的回答

Daisy ·
更新时间:2024-11-11
· 877 次阅读

目录0. 综述1. 简明Git教程(我该如何push我的实验?)1.1建立本地仓库和远程仓库的连接1.1.1基于http/https协议1.1.2基于ssh协议1.2提交至本地仓库1.3提交至远程仓库2. Java文件目录结构概述(我该如何导入P2?)拓展:为什么要进行这样的修改?(选读)3. 在Lab1中可能用到的类、方法和机制(我该如何处理异常?)4. 参考的学习资料补充:我该在lib文件夹中放哪些文件? 0. 综述

  由于HIT的Java为选修课,因此许多同学对于本次实验难以上手。于是写下这篇博客针对近期许多同学的常见问题进行统一的回答,并在文末附上本博客参考的学习资料,如果希望系统地学习一下Git和Java的话可以参考一下。
  如果本文中存在任何错误,请联系我进行修改,或直接在评论中指出,我看见后会第一时间修正的。

1. 简明Git教程(我该如何push我的实验?)

Git使用总共分为3个过程:

建立本地仓库和远程仓库的连接 提交至本地仓库 提交至远程仓库

注释1:本文仅介绍本次实验需要用到的内容。更多内容,例如如何使用pull、分支应用、版本回退等,本文均不介绍。
注释2:本文提到的使用命令均是在Git Bash中输入的命令行。

1.1建立本地仓库和远程仓库的连接

  本文介绍两种连接方式,个人更倾向于基于ssh协议的方法。毕竟把自己的帐号密码明文写在一个文本里总是让人觉得怪怪的。

1.1.1基于http/https协议 创建一个空文件夹Lab1_你的学号 使用命令[ git clone 线上仓库地址 ]
在这里插入图片描述 线上仓库地址的获取方式 修改.git下的config文件 (.git默认是隐藏文件夹)
在这里插入图片描述 1.1.2基于ssh协议 使用命令[ ssh-keygen -t rsa -C “注册邮箱” ]
1.1 然后连续按两下回车即可(不修改存储路径以及密码)
1.2 在C:\Users\你的用户名\.ssh下的id_rsa.pub中找到自己的公钥 将公钥上传到自己的Github帐号
2.1 在Github中点击自己的头像
2.2 选择settings
2.3 左侧选择SSH and GPG keys
2.4 选中右上角的new SSH keys
2.5 把id_rsa.pub中的内容用ctrl+A选中,然后ctrl+C复制,然后ctrl+V粘贴进去即可 在创建的空文件夹下使用命令[ git clone 线上仓库地址 ]
在这里插入图片描述 记得先切换成SSH 1.2提交至本地仓库Lab1_你的学号文件夹下使用命令[ git add . ] 使用命令[ git commit -m “注释”]或者[ git commit ] 1.3提交至远程仓库 使用命令[ git push ] 大功告成~ 2. Java文件目录结构概述(我该如何导入P2?) 下载P2这个项目 在你自己的项目的src文件夹中建立P2文件夹 把P2项目中的rules和turtle文件夹复制粘贴到刚刚建立的P2文件夹中 在Eclipse左侧右击你的项目名称,点击Refresh 调整turtle和rules中的全部java文件的文件目录结构
5.1 以TurtleSoup.java文件为例,你需要把顶部的package turtle;修改为package P2.turtle;,然后把import turtle.PenColor;修改为import P2.turtle.PenColor;
5.2 其它java文件同理进行修改。 拓展:为什么要进行这样的修改?(选读) 在Eclipse中,把src所在的文件夹作为根目录,所有的相对路径寻址都是从src所在的文件夹开始的。(在本次实验中,这个文件夹是Lab1_你的学号) package …即表示把这个java放在哪一个包里,package P2.turtle表示把这个java文件放在P2.turtle包中,而每个包对应于一个目录结构,即此时的这个java文件应该在P2/turtle中存放。 同理,package P1.P2.P3.P4.ABC表示把这个java文件放在P1/P2/P3/P4/ABC中。 错误的包名 / 文件目录结构会导致编译器无法正确地找到对应的java文件,原因是显然的。 原本的P2是作为项目存在的,编译器可以直接在turtle文件夹中找到TurtleSoup.java,而在导入至你的项目后,编译器找不到turtle文件夹,事实上,你必须告诉编译器,先去P2文件夹,再去找turtle文件夹,再去找TurtleSoup文件。 对于import的修改是同理。只是package告诉编译器把我放在哪,而import告诉编译器去哪里找我要找的“人”。 事实上,Lab1_学号/P2/turtle这个路径是不存在的,此时Eclipse会自动进入Lab1_学号/src/P2/turtle中查找。这个src可以替换成该项目中的任意一个源文件夹。 3. 在Lab1中可能用到的类、方法和机制(我该如何处理异常?)

文件的读写:Scanner、PrintWriter
数字的读入:ArrayList、String的split方法、Integer的valueOf方法、try-catch(异常捕获)
其它可能有用的数据结构(接口):Collection、Queue
我该如何使用这些类和方法?

4. 参考的学习资料

Git:Git零基础入门到实战详解
Java:《Java核心技术 卷I》

这两个资料的内容都不是很多,建议各位同学有时间的话还是能自己去系统地学习一下的。

补充:我该在lib文件夹中放哪些文件? 事实上只要你没有引用第三方的包的话,只要放你下载的JUnit的那两个.jar文件即可。(如果你的IDE自带JUnit,就把IDE里存放的JUnit对应的.jar文件复制粘贴到lib文件夹中即可) 如何判断是否为第三方包?其实只要看这个包是不是java开头的就行了。 为什么标准库的包不需要放进lib?因为标准库其实是jre的一部分,jre即Java Runtime Environment,如果一个人的电脑连jre都没装,那他的电脑无论如何是跑不起一个java程序的。
作者:神锅阿赟



lab

需要 登录 后方可回复, 如果你还没有账号请 注册新账号