java实验报告完结版汇总Word文档下载推荐.docx
《java实验报告完结版汇总Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java实验报告完结版汇总Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
if(temp==num)
returntrue;
else
returnfalse;
}
以下程序为main()函数中的关键程序
for(num=100;
num<
1000;
num++)
if(Is(num,a))
System.out.println(num+"
="
+a[2]+"
^3+"
+a[1]+"
+a[0]+"
^3"
);
(2)运行结果
2.编写一个程序,求1-100间的素数。
思路:
编写一个判断素数的函数,然后对函数调用,是素数返回true,反之返回false
publicstaticbooleanIsPrime(intx){
if(x<
2)returnfalse;
for(inti=2;
x;
i++)
if(x%i==0)
returntrue;
}
main()函数里面的主要函数
intoutTime=0;
for(inti=2;
=100;
if(IsPrime(i)){//调用判断素数的函数
System.out.print(i+"
\t"
++outTime;
if(outTime%5==0)//五个一行
System.out.println();
}
3.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。
判断年是否为闰年的条件是:
①若年号可以被4整除,而不能被100整除,则是闰年;
②若年号可以被400整除,也是闰年。
1.(i%4==0&
&
i%100!
=0)||(i%400==0),若满足该条件则为闰年;
2.输出一次,计数器outTime++,如果outTime%5==0则换行。
intoutTime=0;
for(inti=1900;
=2100;
if((i%4==0&
=0)||(i%400==0)){
System.out.print(i+"
outTime++;
if(outTime%5==0)
System.out.println();
三、实验体会
经过第一个实验以后对java编程语言有了一定认识,java语法大多与C/C++相同,编程思路也基本相同,主要还是在于算法。
实验2Java面向对象程序设计
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
1.创建一个复数类Complex,要求如下利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;
一个为默认的无参构造方法。
提供两复数加、减、乘的运算方法。
按格式(a,b)打印复数。
其中a为实部,b为虚部。
(1)关键代码
复数类Complex:
classComplex{
privatefloatRealPart=0f;
privatefloatImaginaryPart=0f;
//构造方法
publicComplex(){
publicComplex(floatreal,floatimaginary){
this.RealPart=real;
this.ImaginaryPart=imaginary;
//实现加法
publicComplexComplexAdd(Complexc){
ComplexnewComplex=newComplex();
newComplex.RealPart=this.RealPart+c.RealPart;
newComplex.ImaginaryPart=this.ImaginaryPart+c.ImaginaryPart;
returnnewComplex;
//实现减法
publicComplexComplexSub(Complexc){
newComplex.RealPart=this.RealPart-c.RealPart;
newComplex.ImaginaryPart=this.ImaginaryPart-c.ImaginaryPart;
//实现乘法
publicComplexComplexMul(Complexc){
newComplex.RealPart=(this.RealPart*c.RealPart)
-(this.ImaginaryPart*c.ImaginaryPart);
newComplex.ImaginaryPart=(this.RealPart*c.ImaginaryPart)
+(this.ImaginaryPart*c.RealPart);
//按格式打印复数的实部和虚部
publicvoidPrint(){
Stringstr="
("
+this.RealPart+"
"
+this.ImaginaryPart+"
)"
System.out.println(str);
main()函数程序关键程序
//实例化
Complexc1=newComplex(1f,2f);
Complexc2=newComplex(3f,4f);
Complexc3=newComplex();
...
c3=c1.ComplexAdd(c2);
//c1+c2
System.out.print("
c1+c2="
c3.Print();
c3=c1.ComplexSub(c2);
//c1-c2
c1-c2="
c3=c1.ComplexMul(c2);
//c1*c2
c1*c2="
2.编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。
packagemymaths;
importjava.util.Scanner;
interfaceSeekMM{
abstractpublicintMaxNumber(inta,intb);
abstractpublicintMinNumber(inta,intb);
classSeekMaxMinimplementsSeekMM{
publicintMaxNumber(inta,intb){
returna>
b?
a:
b;
publicintMinNumber(inta,intb){
returna<
Main()中的部分代码:
Scannersr=newScanner(System.in);
输入三个int型数据:
"
sr.close();
inttempMax=seek.MaxNumber(seek.MaxNumber(x,y),z);
inttempMin=seek.MinNumber(seek.MinNumber(x,y),z);
3.创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。
菜单显示:
publicstaticvoidshowMeau(){
System.out.println("
/********操作菜单********/"
\t1.存款\n\t2.取款\n\t3.查询余额\n\t4.退卡"
main()函数的部分程序:
Accountcustomer=newAccount("
李鹏"
"
2014006281"
"
123456"
);
//建立一个示例账户
...
if(strName.equals(customer.getid())&
strPass.equals(customer.getpassword())){
登陆成功!
while(true){
showMeau();
System.out.print("
请输入你的操作序号:
choose=sc.nextInt();
switch(choose){
case1:
System.out.print("
请输入存款金额:
money=sc.nextDouble();
customer.deposit(money);
break;
case2:
请输入取款金额:
customer.withdraw(money);
case3:
customer.getbalance();
case4:
sc.close();
System.out.println("
退卡成功..."
default:
输入有误!
if(choose==4)
}
else{
密码或账号错误!
sc.close();
银行账号Account类:
classAccount{
privateStringname;
privateStringid;
privateStringpassword;
privatedoublebalance;
publicAccount(){}
publicAccount(Stringname,Stringid,Stringpassword){
this.name=name;
this.id=id;
this.password=password;
this.balance=0;
//(存)deposit;
publicvoiddeposit(doublemoney){
this.balance+=money;
System.out.println("
交易成功!
//(取)withdraw;
publicvoidwithdraw(doublemoney){
if(this.balance<
money)
System.out.println("
对不起,您的余额不足."
else{
this.balance-=money;
//(查询)getbalance;
publicvoidgetbalance(){
当前余额为:
+this.balance+"
元"
//获取用户名
publicStringgetname(){returnthis.name;
//获取id
publicStringgetid(){returnthis.id;
//获取密码
publicStringgetpassword(){returnthis.password;
该部分的实验内容相对简单,与C/C++的整体思路基本没有区别,在语法上面稍有不同。
整体来说这部分的内容相对容易一些。
实验3数组和字符串编程
1.通过实验,掌握Java语言中数组、字符串程序设计的基本方法。
2.较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。
1.编写一个程序,在控制台输入10个数,按大小顺序输出。
(1)关键算法
在public类中定义函数,通过调用函数对数组操作
publicfinalstaticintN=10;
//输入函数
publicstaticvoidinput(doublearray[]){
请键入"
+array.length+"
个数字用(空格隔开):
Scannercin=newScanner(System.in);
array.length;
array[i]=cin.nextDouble();
cin.close();
//输出函数
publicstaticvoidoutput(doublearray[]){
System.out.print(array[i]+"
"
System.out.println();
//冒泡排序函数(<
)
publicstaticvoidorder(doublearray[]){
doubletemp;
由小到大排序结果:
for(inti=1;
for(intj=0;
j<
array.length-i;
j++)
if(array[j]>
array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
main()中的部分代码:
double[]input_array=newdouble[N];
input(input_array);
order(input_array);
output(input_array);
Main()执行完毕..."
(2)运行结果
2.输入一段字符串,统计其中有多少个单词。
(单词用空格隔开)
编写计算单词数量的函数:
从字符串中依次取出一个字符,该字符非字母和下一个是字母,则单词数量+1;
最后判断第一个字符是字母则不再+1,若第一个是字母,则单词数量+1。
//计算单词数量的函数
publicstaticintTotalWord(Stringstr){
charthischar,nextchar;
intwordnum=0;
for(inti=0;
str.length()-1;
thischar=str.charAt(i);
naxtchar=str.charAt(i+1);
if((!
((thischar>
='
A'
thischar<
Z'
)||(thischar>
a'
z'
)))&
((nextchar>
nextchar<
)||(nextchar>
nextchar<
='
))){
wordnum++;
returnwordnum;
main()函数关键程序:
Wordnumber:
+TotalWord(strEnglish));
3.求一个3*3矩阵对角元素之和。
finalintN=3;
int[][]array=newint[N][N];
一个随机3*3矩阵:
for(inti=0;
i<
N;
i++){
for(intj=0;
j<
j++){
array[i][j]=(int)(1+Math.random()*100);
//随机数1~100
System.out.print(array[i][j]+"
if(i==j)//主对角线
sum1+=array[i][j];
elseif((i+j)==(N-1))//次对角线
sum2+=array[i][j];
通过对java的数组和字符串的应用,java在数组和字符串的处理功能上很强大,利用这些可以解决很多问题,不必自己再重新编写某些函数。
实验4图形用户界面编程
掌握文本组件、按钮和单、复选按钮组件的使用;
掌握列表的使用,鼠标、键盘事件的处理;
掌握布局控制的方法。
1.试设计一窗口,内含一个按钮。
开始运行时,按钮显示“ClickMe”字样,当按钮按下时,按钮显示为“ClickMeAgain”字样,再按一次,则按钮显示“ClickMe”字样,依次循环。
利用JButton类中的方法getText()获得按钮的内容字符串,然后利用类String中的方法equals(Stringstr)判断是否和要求字符串相等,如果不相等替换。
classclickDlgextendsJFrame{
JButtonbtn;
JPaneljp;
clickDlg(){
btn=newJButton("
ClickMe"
jp=newJPanel();
publicvoidload(){
btn.addActionListener(newlsr());
jp.add(btn);
this.add(jp,BorderLayout.CENTER);
this.setTitle("
ClickButton"
this.setBounds(100,100,300,80);
this.setVisible(true);
classlsrimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Stringstr=btn.getText();
if(str.equals("
))
btn.setText("
ClickMeAgain"
else
2.完成图6-1所示的GUI布局管理,不需要实现功能。
(删除)
通过对该实验的代码编写之后,学习到了GUI设计,java界面编程的初步知识,明显提升的对该部分内容的兴趣。
在编写代码的过程中,发现图形界面的编程过程并没有想象的容易,因为所有的组件都要靠敲代码来实现,所以要界面的整个美观性相对差一点。
实验5输入与输出
1.掌握Java两种基本输入/输出流类的使用。
2.掌握Java文件类型的使用。
3.掌握文件的输入、输出方法。
1.编写程序,利用Java字符流文件输入/输出类,实现将源程序复制到另一个文件中。
(1)关键