Eclipse应用实例Word格式文档下载.docx
《Eclipse应用实例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Eclipse应用实例Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
图1-2新建系统变量
(5)新建系统变量。
在【变量名】文本框中输入“JAVA_HOME”,在【变量值】文本框中输入JDK安装路径,如“E:
\jdk15”,单击【确定】按钮。
然后创建“CLASSPATH”系统变量,变量值为“.;
E:
\jre15\lib\rt.jar”。
(6)编辑“Path”系统变量。
在【环境变量】对话框中选中“Path”系统变量,单击【编辑】按钮,弹出【编辑系统变量】对话框,在【变量值】文本框的最后加入“%JAVA_HOME%\bin”。
2.安装Eclipse3.1.1
(1)登录Eclipse的官方站点http:
//www.eclipse.org,下载Eclipse安装包eclipse-SDK-3.1.1-win32.zip。
(2)将ZIP文件解压至自行设定的安装目录,如E:
\eclipse,Eclipse即安装完毕。
注意:
本书中Eclipse安装目录均用%Eclipse%代替。
1.2安装语言包
Eclipse提供了一个语言包的插件,用于国际化其开发环境。
对于英文不好的读者或者初学者来说,中文版本的Eclipse可以显著提高学习效率,便于接受和使用Eclipse。
在对Eclipse有了初步的认识之后,还是建议读者多使用英文版Eclipse,这样对以后的进一步学习和使用有好处。
(1)下载语言包插件。
登录Eclipse语言包下载网站,网址是http:
//download.eclipse.org/eclipse/downloads/drops/L-3.1.1_Language_Packs-200510051300/index.php。
选择SDKLanguagePacks中的NLpack1,下载NLpack1-eclipse-SDK-3.1.1a-win32.zip。
(2)将ZIP文件解压至Eclipse安装路径,即可完成语言包的安装。
如果Eclipse环境不能完全汉化,可将%Eclipse%\configuration\org.eclipse.update文件夹删除,重新启动Eclipse即可。
如果想恢复英文环境,可增加-NLen_US启动参数。
1.3第一个Java实例
这是一个简单的Java程序,从命令行输入两个字符串参数,在程序中将其合并成一个字符串,并在控制台输出。
本实例的目的是为了熟悉Eclipse环境,掌握编写Java程序的流程,掌握设置命令行参数的方法,以及如何在Eclipse中运行Java程序。
1.3.1新建Java项目
(1)启动Eclipse。
右击%Eclipse%\eclipse.exe,依次选择【发送到】|【桌面快捷方式】命令。
(2)双击桌面上的Eclipse快捷方式,启动Eclipse。
如Eclipse启动不成功,可增加虚拟机参数-vm%JAVA_HOME%\jre\bin\javaw.exe。
(3)单击【窗口】菜单,依次选择【打开透视图】|【Java】命令,打开Java透视图。
(4)单击【文件】菜单,依次选择【新建】|【项目】命令,弹出【新建项目】对话框。
(5)选择【Java项目】,单击【下一步】按钮。
(6)在【项目名】文本框中输入“JavaApplication”,其他选项保持默认值,单击【完成】按钮。
1.3.2配置构建路径
为了让Java源文件和编译后生成的字节码文件分开存放,需要配置构建路径。
(1)选择【窗口】|【首选项】命令,弹出【首选项】对话框。
(2)依次选择左侧列表的【Java】|【构建路径】,选中窗口中的文件夹选项,单击【确定】按钮,保存设置,如图1-3所示。
图1-3配置构建路径
1.3.3新建Java类
(1)右击“src”文件夹,依次选择【新建】|【包】命令,弹出【新建Java包】对话框。
在【名称】文本框中输入“net.chapter1”,单击【完成】按钮。
(2)右击“net.chapter1”包,依次选择【新建】|【类】命令,弹出【新建Java类】对话框。
在【名称】文本框中输入“StringJoin”,单击【完成】按钮。
(3)编写程序代码。
如下:
packagenet.chapter1;
publicclassStringJoin{
publicstaticvoidmain(String[]args){
//对输入的命令行参数进行判断,如果为空指针或者参数的数量不是2个,则输出提示信息后返回
if(args==null||args.length!
=2){
System.out.println("
请输入两个字符串参数!
"
);
return;
}
//在控制台打印输入的参数
您输入的字符串分别是:
'
+args[0]+"
和'
+args[1]+"
//将两个字符串进行连接
StringjoinedString=args[0]+args[1];
//在控制台打印连接后的字符串
连接后的字符串是:
+joinedString);
}
1.3.4设置命令行参数
(1)右击“StringJoin.java”文件,依次选择【运行方式】|【运行…】命令,弹出【运行】对话框。
(2)在左侧【配置】列表中选择【Java应用程序】,单击【新建】按钮,生成
“StringJoin”项。
(3)选择右侧的【自变量】选项卡,在【程序自变量】文本框中输入命令行参数“hello”和“java”,如图1-4所示。
图1-4设置命令行参数
1.3.5运行实例
在图1-4中,单击【运行】按钮运行Java程序。
输出结果如图1-5所示。
图1-5第一个Java程序运行结果
1.4Java应用程序实例
本节将通过3个更详细的Java应用实例,进一步加深对Eclipse编程方式的理解。
选择的题材包括排序算法、数字游戏、使用Java实现FTP功能。
1.4.1排序算法的Java实现
排序问题应该是数据结构中的经典问题。
前人总结出了多种排序算法,不同的算法都可以通过不同的语言描述实现。
本实例将实现冒泡排序、插入排序、选择排序的Java版。
实例运行后,控制台输出如图1-6所示。
图1-63种排序的输出
3种排序结果一致,用时极短,均为0。
(1)右击1.3节创建的“net.chapter1”包,依次选择【新建】|【类】命令,弹出【新建Java类】对话框。
在【名称】文本框中输入“SortAlgorithm”,单击【完成】按钮。
(2)编写程序代码。
❑冒泡排序基本算法思想:
从前到后扫描序列,比较相邻两个项目的大小,若发现逆序进行交换,最后使最大者换到序列的最后。
然后再从后到前扫描剩下的序列,比较相邻两个项目的大小,若发现逆序则进行交换,最后使最小者换到序列的最前面。
对剩下的序列重复上述过程,直到剩下的序列为空时止。
bubbleSort方法实现了冒泡排序。
publicclassSortAlgorithm{
privatevoidbubbleSort(int[]numlist){
intout,in;
//从后到前,从倒数第二项到第二项扫描数列
for(out=numlist.length-1;
out>
1;
out--)
//从第一项到第out项扫描数列
for(in=0;
in<
out;
in++)
//当前项大于后项,则交换两项的位置
if(numlist[in]>
numlist[in+1]){
inttemp=numlist[in];
numlist[in]=numlist[in+1];
numlist[in+1]=temp;
}
❑插入排序基本算法思想:
每次将一个待排序的数据元素插入到前面已经排好序的数列中的适当位置,使数列依然有序,直到待排序数据元素全部插入完为止。
insertSort方法实现了插入排序。
privatevoidinsertSort(int[]numlist){
intin,out;
//从out处分开数列
for(out=1;
out<
numlist.length;
out++){
inttemp=numlist[out];
//numlist[out]为待排序的数据
in=out;
while(in>
0&
&
numlist[in-1]>
=temp)//当发现数列值大于待排序的数据时
{
numlist[in]=numlist[in-1];
//数列向右移一位
--in;
//指针向左移一位
}
numlist[in]=temp;
//插入待排序的数据
}
❑选择排序基本算法思想:
首先找出最小的元素,然后把这个元素与第一个元素互换,这样值最小的元素就放到了第一个位置。
接着,再从剩下的元素中找值最小的,把它和第二个元素互换,使得第二小的元素放在第二个位置上,依此类推,直到所有的值由小到大排列为止。
selectionSort方法实现了选择排序。
privatevoidselectionSort(int[]numlist){
intout,in,min;
//从第一项到倒数第二项扫描数列
for(out=0;
numlist.length-1;
min=out;
//将out项设为最小值
//从第二项到最后项扫描数列
for(in=out+1;
//当发现第in项小于最小值
if(numlist[in]<
numlist[min])
min=in;
//将第in项作为最小值
//将out项与最小值进行交换
numlist[out]=numlist[min];
numlist[min]=temp;
display方法向控制台输出数列。
privatevoiddisplay(int[]numlist){
for(intj=0;
j<
j++)
System.out.print(numlist[j]+"
"
System.out.println("
main方法向控制台输出结果,首先输出原序,然后依次输出各种排序结果和排序时间。
SortAlgorithmsortAlgorithm=newSortAlgorithm();
intnumlist[]=newint[]{45,67,199,-4,9,123,7,24,66,18};
//待排序数列
//打印待排序数列
System.out.print("
原序为:
sortAlgorithm.display(numlist);
longbegin=System.currentTimeMillis();
//排序开始时间,调用系统的当前时间
sortAlgorithm.bubbleSort(numlist);
//执行冒泡排序
longend=System.currentTimeMillis();
//排序结束时间,调用系统的当前时间
冒泡排序用时为:
+(end-begin));
//排序用时
//打印排序结果
排序后:
begin=System.currentTimeMillis();
//排序开始时间
sortAlgorithm.insertSort(numlist);
//执行插入排序
end=System.currentTimeMillis();
//排序结束时间
插入排序用时为:
sortAlgorithm.selectionSort(numlist);
//执行选择排序
选择排序用时为:
(3)运行实例。
右击“SortAlgorithm.java”文件,依次选择【运行方式】|【Java应用程序】命令。
1.4.2猜数字游戏
游戏随机给出一个0~100(包括0和100)之间的数字,然后让游戏者猜是什么数字。
游戏者可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。
实例运行后,控制台输出如图1-7所示。
图1-7猜数字游戏玩法
在【名称】文本框中输入“GuessNumber”,单击【完成】按钮。
代码如下:
publicclassGuessNumber{
//新建一个随机数生成器
Randomrandom=newRandom();
//生成一个0~100之间的整数,方法nextInt(intn)生成在0(包括)和n(不包括)之间均匀分布的int值
intrandomNumber=random.nextInt(101);
//记录游戏者所猜数字
intguessedNumber=-1;
//通过输入流取得游戏者从控制台输入的数字
BufferedReaderinput=newBufferedReader(newInputStreamReader(System.in));
intcounter=0;
//记录游戏者猜测的次数。
请输入0到100之间的整数:
以下循环进行猜数字。
如果输入的数字不在0~100的范围内,则提示输入值无效,再次输入。
如果输入的不是数字,则抛出异常。
while(guessedNumber!
=randomNumber){
try{
//获取游戏者的输入
guessedNumber=Integer.parseInt(input.readLine());
if(guessedNumber<
0||guessedNumber>
100){
请输入一个0~100之间的整数:
counter++;
//游戏者猜测的次数加一
continue;
}catch(NumberFormatExceptione){
//如果游戏者输入的不是一个合法的整数,则让他重新输入
}catch(IOExceptione){
程序发生异常错误将被关闭!
e.printStackTrace();
//对玩家的输入进行判断
if(guessedNumber>
randomNumber)
您输入的数字大了,请再次输入:
if(guessedNumber<
您输入的数字小了,请再次输入:
}
答案正确。
您共猜测"
+counter+"
次。
右击“GuessNumber.java”文件,依次选择【运行方式】|【Java应用程序】命令。
1.4.3通过FTP传递文件
本实例是一个使用Java实现FTP命令的程序,可从远程FTP服务器下载文件。
程序中用到了Apache的CommonsNet技术。
它是一个用于操作Internet基础协议(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP以及SMTP)的底层API。
CommonsNet包不仅支持对各种低层次协议的访问,而且还提供了一个高层的抽象,使得开发者不再需要直接面对各种协议的Socket级的低层命令。
本例只使用其FTP协议。
(1)下载CommonsNet包。
可到Apache网站下载最新的commons-net-1.4.1.jar,网址为http:
//jakarta.apache.org/site/downloads/downloads_commons-net.cgi。
(2)右击“JavaApplication”项目,依次选择【新建】|【文件夹】命令,弹出【新建文件夹】对话框。
在【文件夹名称】文本框中输入“lib”,单击【完成】按钮。
将commons-net-1.4.1.jar复制到lib文件夹中。
(3)右击“JavaApplication”项目,选择【属性】命令,弹出【JavaApplication的属性】对话框。
选择【库】选项卡,单击【添加Jar】按钮,弹出【选择JAR】对话框,如图1-8所示。
选中“commons-net-1.4.1.jar”,单击【确定】按钮。
返回【JavaApplication的属性】对话框,单击【确定】按钮。
图1-8【选择JAR】对话框
(4)右击“net.chapter1”包,依次选择【新建】|【类】命令,弹出【新建Java类】对话框。
在【名称】文本框中输入“FTPUtil”,单击【完成】按钮。
(5)编写程序代码。
publicclassFTPUtil{
publicstaticvoidmain(String[]args){
//通过FTPClient的对象模拟用户访问FTP服务器
FTPClientftpClient=newFTPClient();
StringftpServer="
101.10.10.24"
;
//FTP服务器
StringremoteFile="
/opt/user/readme.txt"
//远程文件,复制的目标
StringlocalFile="
\\temp\\readme.txt"
//本地文件,复制的目的文件
Stringuser="
abc"
//用户名
Stringpassword="
edf"
//密码
ftpClient.connect(ftpServer);
//连接FTP服务器
Connectedto"
+ftpServer+"
."
intreply=ftpClient.getReplyCod