西电计算机Java上机实验报告参考模板.docx

上传人:b****6 文档编号:8376035 上传时间:2023-01-30 格式:DOCX 页数:33 大小:181.49KB
下载 相关 举报
西电计算机Java上机实验报告参考模板.docx_第1页
第1页 / 共33页
西电计算机Java上机实验报告参考模板.docx_第2页
第2页 / 共33页
西电计算机Java上机实验报告参考模板.docx_第3页
第3页 / 共33页
西电计算机Java上机实验报告参考模板.docx_第4页
第4页 / 共33页
西电计算机Java上机实验报告参考模板.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

西电计算机Java上机实验报告参考模板.docx

《西电计算机Java上机实验报告参考模板.docx》由会员分享,可在线阅读,更多相关《西电计算机Java上机实验报告参考模板.docx(33页珍藏版)》请在冰豆网上搜索。

西电计算机Java上机实验报告参考模板.docx

西电计算机Java上机实验报告参考模板

 

西安电子科技大学

Java课程上机练习题

(2016年度)

班级:

姓名:

学号:

一、Java语言基础

1、实验目标:

掌握Java语法;掌握Java程序结构;掌握Java编译、调试、运行的方法。

2、实验要求:

编写一个程序,程序提供两种功能:

(1)用户输入一个整数,程序计算并输出从1开始到该整数的所有整数之和;同时,计算并输出不大于该整数的所有素数的数目。

(2)用户输入一个数字串,程序判断该数字串各位上数字的奇偶性,并分别输出奇、偶数位的计数值及各位的加和值。

3、题目分析:

判断整数是素数要构建一个测试类,然后统计是素数的个数;数字串需要判断每位的数字的奇偶性,则要将数字串转化为数组的形式,然后进行奇偶判断,进行统计。

4、题目设计实现:

分别设计判断素数、整数求和、格式转变、判断奇偶性、各位求和的函数。

5、实现过程:

//判断一个数是否是素数

publicstaticbooleanisPrime(inta){

booleanflag=true;

if(a<2)

returnfalse;

else

for(inti=2;i<=Math.sqrt(a);i++){

if(a%i==0)

flag=false;

}

returnflag;

}

//在main函数计算求和及判断

publicstaticvoidmain(String[]args){

intsum=0,j=0;

Scannersc=newScanner(System.in);

System.out.println("请输入一个数计算他的和");

intnum=sc.nextInt();

for(inti=1;i<=num;i++){

sum=sum+i;

if(isPrime(i))

j++;

}

System.out.println("这个数的和为"+sum+"\n素数有"+j+"个");

//输入一个字符串并转化为数字存放到数组中

publicstaticvoidmain(String[]args){

System.out.println("请输入一串数字串");

Scannerscan=newScanner(System.in);

Stringline=scan.next();

intodd=0,even=0,sumo=0,sume=0;

char[]c=line.toCharArray();

//求和

for(inti=0;i

if((int)c[i]%2==0){

even++;

sume=sume+(int)c[i]-48;

}

else{

sumo=sumo+(int)c[i]-48;

odd++;

}

}

System.out.println("奇数共有"+odd+"个\n"+"奇数和为"+sumo);

System.out.println("偶数共有"+even+"个\n"+"偶数和为"+sume);

}

6、实验结果:

7、个人总结:

通过这次基础练习,对Java的各种规范和函数调用有了一定的熟悉,因为之前的编过类似的,所以用Java上手没有很陌生,算是一个很好的入门基础。

8、源代码:

1.整数

importjava.util.Scanner;

publicclasstest{

publicstaticvoidmain(String[]args){

intsum=0,j=0;

Scannersc=newScanner(System.in);

System.out.println("请输入一个数计算他的和");

intnum=sc.nextInt();

//System.out.println("helloworld!

");

for(inti=1;i<=num;i++){

sum=sum+i;

if(isPrime(i))

j++;

}

System.out.println("这个数的和为"+sum+"\n素数有"+j+"个");

sc.close();

}

publicstaticbooleanisPrime(inta){

booleanflag=true;

if(a<2)

returnfalse;

else

for(inti=2;i<=Math.sqrt(a);i++){

if(a%i==0)

flag=false;

}

returnflag;

}

}

2.数字串

importjava.util.Scanner;

publicclasstest{

publicstaticvoidmain(String[]args){

System.out.println("请输入一串数字串");

Scannerscan=newScanner(System.in);

Stringline=scan.next();

intodd=0,even=0,sumo=0,sume=0;

char[]c=line.toCharArray();

//System.out.println((int)c[0]);

for(inti=0;i

if((int)c[i]%2==0){

even++;

sume=sume+(int)c[i]-48;

}

else{

sumo=sumo+(int)c[i]-48;

odd++;

}

}

System.out.println("奇数共有"+odd+"个\n"+"奇数和为"+sumo);

System.out.println("偶数共有"+even+"个\n"+"偶数和为"+sume);

scan.close();

}

}

 

二、Java的面向对象特性

1、实验目标:

掌握面向对象的编程方法;掌握Java的面向对象特性;掌握采用面向对象技术构建系统的一般方法。

2、实验要求:

编写一个程序,程序提供对图形的绘制功能(模拟绘制,采用文本输出的形式表现绘制内容):

1.构建所有图形的父类:

Shape,该类中定义图形的基本属性及方法。

2.构建基本图形类:

矩形(Rectangle)、圆(Circle)、正三角形(Triangle)。

3.可通过多态实现对任意图形的绘制。

//上塑型

4.定义静态方法,该方法可以对传入的对象实例进行判断,并输出该对象实例的类型。

//输入输出

5.定义静态方法,该方法可以输出传入的对象实例的中心点坐标。

6.构建测试类,该类实现与用户的交互,向用户提示操作信息,并接收用户的操作请求。

//用户输入画的图形

3、题目分析:

首先需要构建一个关于图形的类,然后要构建三个特殊的子类,使用继承的思想,实现对图形得绘制和实现

4、题目设计实现:

设计父类,和子类,然后能对输出的类进行判断和选择,并且定义它的中心坐标

5、实现过程:

//定义父类及它的方法

publicclassShape{

intlength=0;

intwide=0;

intline=0;

intlist=0;

publicShape()

{

}

publicShape(intline,intlist)

{

this.line=line;

this.list=list;

}

publicvoiddraw()

{

System.out.println("draw");

}

}

//定义三个子类

//矩形

classRectangleextendsShape{

publicRectangle(){

super(3,3);

}

publicvoiddraw(){

System.out.println("drawarectangle");

}

}

//圆

classCircleextendsShape{

publicCircle(){

super(4,2);

}

publicvoiddraw(){

System.out.println("drawaCircle");

}

}

//三角

classTriangleextendsShape{

publicTriangle(){

super(1,3);

}

publicvoiddraw(){

System.out.println("drawaTriangle");

}

}

//输出类的定义

classprintData{

staticvoidprintClass(Objectobj){

System.out.println("theclassoftheShapeis:

"+obj.getClass());

}//输出类名

staticvoidprintrank(Shapestr){

System.out.println("thecoordinateofthecentreis:

x:

"+str.line+"y:

"+str.list);

}//输出中心点坐标

}

//main函数中进行交互和判断

publicstaticvoidmain(String[]args){

intnum=-1;

Scannersr=newScanner(System.in);

//交互选择

while(num!

=3){

System.out.println("pleaseinputthenumberoftheshapeyouwant");

System.out.println("0:

Rectangle1:

Circle2:

Triangle3:

exit");

num=sr.nextInt();

Shapes=newShape();

switch(num)

{

case0:

{

s=newRectangle();//向上转型

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case1:

{

s=newCircle();

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case2:

{

s=newTriangle();

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case3:

break;

default:

System.out.println("it'swrong!

");

break;

}

}

System.out.println("youhaveexit");

sr.close();

}

6、实验结果:

7、个人总结:

通过这次作业,学会了Java继承的基础用法,并在定义中使用静态方法和重构等一些用法来实现转型,可能是用的不熟,过程中出现了大量的错误,经过几次修改终于做了出来,收获很大。

8、源代码:

importjava.util.Scanner;

publicclassShape{

intlength=0;

intwide=0;

intline=0;

intlist=0;

publicShape()

{

}

publicShape(intline,intlist)

{

this.line=line;

this.list=list;

}

publicvoiddraw()

{

System.out.println("draw");

}

}

classRectangleextendsShape{

publicRectangle()

{

super(3,3);

}

publicvoiddraw()

{

System.out.println("drawarectangle");

}

}

classCircleextendsShape{

publicCircle()

{

super(4,2);

}

publicvoiddraw()

{

System.out.println("drawaCircle");

}

}

classTriangleextendsShape{

publicTriangle()

{

super(1,3);

}

publicvoiddraw()

{

System.out.println("drawaTriangle");

}

}

classprintData{

staticvoidprintClass(Objectobj){

System.out.println("theclassoftheShapeis:

"+obj.getClass());

}

staticvoidprintrank(Shapestr){

System.out.println("thecoordinateofthecentreis:

x:

"+str.line+"y:

"+str.list);

}

}

classTestShape{

publicstaticvoidmain(String[]args){

intnum=-1;

Scannersr=newScanner(System.in);

while(num!

=3){

System.out.println("pleaseinputthenumberoftheshapeyouwant");

System.out.println("0:

Rectangle1:

Circle2:

Triangle3:

exit");

num=sr.nextInt();

Shapes=newShape();

switch(num)

{

case0:

{

s=newRectangle();//向上转型

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case1:

{

s=newCircle();

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case2:

{

s=newTriangle();

s.draw();

printData.printClass(s);

printData.printrank(s);

break;

}

case3:

break;

default:

System.out.println("it'swrong!

");

break;

}

}

System.out.println("youhaveexit");

sr.close();

}

}

 

三、Java的高级语言特征

1、实验目标:

熟悉Java的泛型;了解Java的泛型特点;初步掌握Java的泛型编程方法。

2、实验要求:

编写一个程序,程序提供记事本功能:

1.构建记事本类,该类能存储不定数量的记录;能获得已经存储的记录数量;能追加记录;能展示已经存储的全部记录或其中任何一条记录;能删除已经存储的全部记录或其中任何一条记录。

2.构建测试类,该类实现与用户的交互,向用户提示操作信息,并接收用户的操作请求。

3、题目分析:

构建一个记事本类,要存储不定量的记录,需要用链表数组存放,利用链表数组的功能可以查询、添加、显示、删除记录。

进行与用户交互,建立测试类。

4、题目设计实现:

记事本类,用泛型ArrayList,建立测试类isTest(),进行与用户交互,再构建一个显示类showText()和删除类deleteText()。

5、实现过程:

staticArrayListdiaryText=newArrayList();//引用泛型

//建立显示类,显示选择的记录

publicstaticvoidshowText(ArrayListlist,intn){

if(list.isEmpty())

System.out.println("尚无记录\n");

else{

if(n==0)

for(intj=0;j

System.out.println((j+1)+":

"+diaryText.get(j));

elseif(n>0&&n<=list.size())

System.out.println(n+":

"+diaryText.get(n-1));

else

System.out.println("输入错误,请重新输入\n");

}

}

//建立删除类,删除选择的记录

publicstaticvoiddeleteText(ArrayListlist,intn){

if(list.isEmpty())

System.out.println("尚无记录\n");

else{

if(n==0){

list.clear();

System.out.println("已清除全部记录\n");

}

elseif(n>0&&n<=list.size()){

list.remove(n-1);

System.out.println("已删除第"+n+"条数据\n");

}

else

System.out.println("输入错误,请重新输入\n");

}

}

//建立测试类,与用户进行交互

publicstaticvoidisTest(){

intnum=0,i=0;

Stringstr;

Scannerinput=newScanner(System.in);

System.out.println("记事本功能");

System.out.println("请输入想要执行的功能");

while(true){

System.out.println("1——记事");

System.out.println("2——已记录数");

System.out.println("3——追加记录");

System.out.println("4——显示已存储记录(0为全部记录)");

System.out.println("5——删除记录(0为全部记录)");

System.out.println("6——退出");

num=input.nextInt();

if(num==6){

System.out.println("您已退出程序\n");

input.close();

System.exit(0);

}

elseswitch(num){

case1:

{

System.out.println("请输入内容");

input.nextLine();

str=input.nextLine();

diaryText.add(str);

System.out.println("已保存\n");

break;

}

case2:

{

System.out.println("已记录数为:

"+diaryText.size()+"\n");

break;

}

case3:

{

System.out.println("请输入修改的记录号");

i=input.nextInt();

System.out.println("请输入修改内容");

input.nextLine();

str=input.nextLine();

diaryText.set(i-1,str);

System.out.println("已修改\n");

break;

}

case4:

{

System.out.println("请输入要显示第几条的内容");

i=input.nextInt();

showText(diaryText,i);

break;

}

case5:

{

System.out.println("请输入要删除第几条的内容");

i=input.nextInt();

deleteText(diaryText,i);

break;

}

default:

{

System.out.println("输入错误,请重新输入!

\n");

break;

}

}

}

}

6、实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1