本科实验报告课程名称:JAVA语言程序设计实验项目:基础编程实验地点:软件楼专业班级:软件班学号:学生姓名:指导教师:2014年1月5日实验1Java语言基础1.实验目的(1)通过实验,掌握Java语言程序设计的基本方法。(2)学会Java语言中标示符的命名、运算符和表达式的应用。(3)熟练地掌握Java程序流程控制语句的应用。2.主要仪器设备笔记本电脑HP6460b,win7,eclipse3.实验内容(1)编写应用程序,计算100(含100)以内所有偶数的和。packagecom.test11;publicclassTest11{//计算100以内所有偶数的和publicstaticvoidmain(String[]args){intsum=0;for(inti=2;i=100;i+=2){sum+=i;}System.out.println(100(包括100)以内所有的偶数之和sum=+sum);}}运行结果:(2)“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。packagecom.test12;publicclassTest12{publicstaticvoidmain(String[]args){System.out.println(所有3位数中的水仙花数为:);for(inti=100;i1000;i++){inta=i/100;intb=i/10%10;intc=i%100%10;if(a*a*a+b*b*b+c*c*c==i)System.out.println(i);}}}运行结果:(3)编写一个程序,求1-100间的素数。packagecom.test13;publicclassTest13{publicstaticvoidmain(String[]args){booleanf;System.out.println(1~100之间的素数是:);for(inti=2;i=100;i++){f=true;for(intj=2;ji;j++){if(i%j==0){f=false;break;}}if(f){System.out.print(i+);}}}}运行结果:(4)有一函数:x(x1)Y=3x-2(1≤x10)4x(x≥10)写一程序,给定x值,输出y值。packagecom.test14;importjava.util.Scanner;publicclassTest14{publicstaticvoidmain(String[]arges){System.out.print(请输入一个x的值:);Scannerin=newScanner(System.in);DoubleY,x=in.nextDouble();if(x1){System.out.println(Y=+x);}elseif(x=10){Y=4*x;System.out.println(Y=+Y);}else{Y=3*x-2;System.out.println(Y=+Y);}}}运行结果:(5)使用for循环语句,编写程序输出以下图案。☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆packageaddsum;publicclassquestion5{publicstaticvoidmain(Stringargs[]){for(intr=1;r=4;r++){for(intspace=4-r;space0;space--)System.out.print(++);for(intstar=1;star=2*r-1;star++)System.out.print('☆');System.out.print('\n');}for(intr=3;r=1;r--){for(intspace=4-r;space0;space--)System.out.print(++);for(intstar=1;star=2*r-1;star++)System.out.print('☆');System.out.print('\n');}}}运行结果:(6)编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。packagecom.test15;publicclassTest16{publicstaticvoidmain(String[]args){for(inti=1900;i=2010;i++){intn=0;if((i%4==0)&&(i%100!=0)||(i%400==0)){n++;System.out.println(i+是闰年);if(n%5==0){System.out.println(\n);}}}}}运行结果:4.讨论、心得试验中遇到的问题及体会在实验过程中,整体都比较完整,基本没遇到什么太大调试问题,算法设计也比较清楚,结果相对比较满意。体会:经过实验使我对本章的知识有了更深一步的理解,也学会了将C语言运用到java语言中的学习方法,对知识做了进一步的巩固,同时也发现各种语言之间总有相同的模块,这也使我对以后各程序设计语言及各专业课的学习奠定基础,创造了条件实验2数组和字符串编程1.实验目的(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。2.实验内容(1)编写一个程序,在控制台输入10个数,按大小顺序输出。packagecom.testTwo;importjava.util.Scanner;publicclassTestTwo0{publicstaticvoidmain(String[]args){int[]x=newint[10];System.out.print(请输入十个整数:);Scannersc=newScanner(System.in);for(inti=0;i10;i++){x[i]=sc.nextInt();}sort(x);}publicstaticvoidsort(int[]x){//TODOAuto-generatedmethodstubinttemp;for(inti=0;i10;i++){for(intj=i+1;j10;j++){if(x[i]x[j]){temp=x[i];x[i]=x[j];x[j]=temp;}}}for(inti=0;i10;i++){System.out.print(x[i]+,);}}}运行结果:(2)求一个3*3矩阵对角线元素之和。packagecom.testTwo;publicclassTestTwo2{publicstaticvoidmain(String[]args){int[][]nums={{1,2,3},{4,5,6},{7,8,9}};intsum=0;for(inti=0;i3;i++){for(intj=0;j3;j++){if(i==j||i+j==2){sum+=nums[i][j];}}}System.out.println(3*3矩阵对角线元素之和sum=+sum);}}运行结果:(3)输入一段字符串,统计其中有多少个单词。(单词用空格隔开)packagecom.testTwo;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassTestTwo3{publicstaticvoidmain(Stringargs[])throwsIOException{intnum=1;Strings;System.out.print(请输入一段字符串:\n);BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));s=buf.readLine();for(inti=0;is.length();i++){if(s.charAt(i)==''){num++;}}System.out.println(该字符串有+num+个单词);}}运行结果:3.讨论、心得通过实验,掌握Java语言中数组、字符串程序设计的基本方法,较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用,学到了很多知识,加深了对书本上知识的理解。实验3Java面向对象程序设计1.实验目的掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。2.实验内容(1)创建一个复数类complex,以复数进行数学运算、复数具有如下格式:RealPart+ImaginaryPart*I,其中,I为-1的平方根。要求如下:①利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。②提供两复数加、减、乘的运算方法。③按格式(a,b)打印复数。其中a为实部,b为虚部。packageshiyan3;importjava.util.Scanner;publicclassquestion1{publicstaticvoidmain(String[]args){Complexa=newComplex(3,5);Complexb=newComplex(7,2);System.out.println(a.toString()+和+b.toString()+相加的结果为+a.complexAdd(b).toString());System.out.println(a.toString()+差+b.toString()+相减的结果为+a.complexJian(b).toString());}}classComplex{intrealPart;intimaginPart;publicComplex(){realPart=0;imaginPart=0;}publicComplex(intr,inti){realPart=r;imaginPart=i;}publicComplexcomplexAdd(Complexb){returnnewComplex(realPart+b.realPart,imaginPart+b.imaginPart);}publicComplexcomplexJian(Complexb){ReturnnewComplex(realPart-b.realPart,imaginPart-b.imaginPart);}publicStringtoString(){Stringsr=(+realPart+,+imaginPart+);returnsr;}}结果:(2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。2.packageshiyan3;importjava.util.Scanner;publicclassquestion2{publicstaticvoidmain(String[]args){doublebalance=0;doubledeposit=0;doublewithdraw=0;for(;;){System.out.println(请输入数字:\t1.存钱\t2.取钱\t3.查询余额\n);Scannerinput=newScanner(System.in);Stringnum=input.next();doubles1=0,s2=0;if(num.equals(1)){System.out.println(输入存入金额:);deposit=input.nextDouble();System.out.p