1、西电计算机Java上机实验报告参考模板西安电子科技大学Java课程上机练习题 (2016年度)上机报告 班 级: 姓 名: 学 号: 一、Java语言基础1、实验目标: 掌握Java语法;掌握Java程序结构;掌握Java编译、调试、运行的方法。2、实验要求: 编写一个程序,程序提供两种功能:(1)用户输入一个整数,程序计算并输出从1开始到该整数的所有整数之和;同时,计算并输出不大于该整数的所有素数的数目。(2)用户输入一个数字串,程序判断该数字串各位上数字的奇偶性,并分别输出奇、偶数位的计数值及各位的加和值。3、题目分析: 判断整数是素数要构建一个测试类,然后统计是素数的个数;数字串需要判断
2、每位的数字的奇偶性,则要将数字串转化为数组的形式,然后进行奇偶判断,进行统计。4、题目设计实现:分别设计判断素数、整数求和、格式转变、判断奇偶性、各位求和的函数。5、实现过程:/判断一个数是否是素数 public static boolean isPrime(int a) boolean flag = true; if(a2) return false; else for(int i = 2;i=Math.sqrt(a);i+) if(a%i = 0) flag = false; return flag; /在main函数计算求和及判断public static void main(Strin
3、g args) int sum=0,j=0; Scanner sc = new Scanner(System.in); System.out.println(请输入一个数计算他的和); int num = sc.nextInt(); for(int i=1;i=num;i+) sum = sum + i; if(isPrime(i) j+; System.out.println(这个数的和为+sum+n素数有+j+个);/输入一个字符串并转化为数字存放到数组中public static void main(String args) System.out.println(请输入一串数字串); S
4、canner scan = new Scanner(System.in); String line = scan.next(); int odd=0,even=0,sumo=0,sume=0; char c = line.toCharArray(); /求和 for(int i = 0; iline.length(); i+) if(int)ci%2 = 0) even+; sume = sume +(int)ci-48; else sumo = sumo +(int)ci-48; odd+; System.out.println(奇数共有+odd+个n+奇数和为+sumo); System.
5、out.println(偶数共有+even+个n+偶数和为+sume); 6、实验结果:7、个人总结: 通过这次基础练习,对Java的各种规范和函数调用有了一定的熟悉,因为之前的编过类似的,所以用Java上手没有很陌生,算是一个很好的入门基础。8、源代码:1. 整数import java.util.Scanner;public class test public static void main(String args) int sum=0,j=0; Scanner sc = new Scanner(System.in); System.out.println(请输入一个数计算他的和); in
6、t num = sc.nextInt(); /System.out.println(hello world!); for(int i=1;i=num;i+) sum = sum + i; if(isPrime(i) j+; System.out.println(这个数的和为+sum+n素数有+j+个); sc.close(); public static boolean isPrime(int a) boolean flag = true; if(a2) return false; else for(int i = 2;i=Math.sqrt(a);i+) if(a%i = 0) flag =
7、 false; return flag; 2.数字串import java.util.Scanner;public class test public static void main(String args) System.out.println(请输入一串数字串); Scanner scan = new Scanner(System.in); String line = scan.next(); int odd=0,even=0,sumo=0,sume=0; char c = line.toCharArray(); /System.out.println(int)c0); for(int
8、i = 0; iline.length(); i+) if(int)ci%2 = 0) even+; sume = sume +(int)ci-48; else sumo = sumo +(int)ci-48; odd+; System.out.println(奇数共有+odd+个n+奇数和为+sumo); System.out.println(偶数共有+even+个n+偶数和为+sume); scan.close(); 二、Java的面向对象特性1、实验目标: 掌握面向对象的编程方法;掌握Java的面向对象特性;掌握采用面向对象技术构建系统的一般方法。2、实验要求: 编写一个程序,程序提供对
9、图形的绘制功能(模拟绘制,采用文本输出的形式表现绘制内容):1构建所有图形的父类:Shape,该类中定义图形的基本属性及方法。2构建基本图形类:矩形(Rectangle)、圆(Circle)、正三角形(Triangle)。3可通过多态实现对任意图形的绘制。/上塑型4定义静态方法,该方法可以对传入的对象实例进行判断,并输出该对象实例的类型。/输入输出5定义静态方法,该方法可以输出传入的对象实例的中心点坐标。6构建测试类,该类实现与用户的交互,向用户提示操作信息,并接收用户的操作请求。/用户输入画的图形3、题目分析: 首先需要构建一个关于图形的类,然后要构建三个特殊的子类,使用继承的思想,实现对图
10、形得绘制和实现4、题目设计实现: 设计父类,和子类,然后能对输出的类进行判断和选择,并且定义它的中心坐标5、实现过程:/定义父类及它的方法public class Shape int length=0; int wide=0; int line=0; int list=0; public Shape() public Shape(int line,int list) this.line = line; this.list = list; public void draw() System.out.println(draw); /定义三个子类/矩形class Rectangle extends
11、Shape public Rectangle() super(3,3); public void draw() System.out.println(draw a rectangle); /圆class Circle extends Shape public Circle() super(4,2); public void draw() System.out.println(draw a Circle); /三角class Triangle extends Shape public Triangle() super(1,3); public void draw() System.out.pri
12、ntln(draw a Triangle); /输出类的定义class printData static void printClass(Object obj) System.out.println(the class of the Shape is:+obj.getClass(); /输出类名 static void printrank(Shape str) System.out.println(the coordinate of the centre is:x:+str.line+ y:+str.list); /输出中心点坐标/main函数中进行交互和判断public static voi
13、d main(String args) int num=-1; Scanner sr = new Scanner(System.in); /交互选择 while(num!=3) System.out.println(please input the number of the shape you want); System.out.println(0:Rectangle 1:Circle 2:Triangle 3:exit); num = sr.nextInt(); Shape s = new Shape(); switch(num) case 0: s = new Rectangle();/
14、向上转型 s.draw(); printData.printClass(s); printData.printrank(s); break; case 1: s = new Circle(); s.draw(); printData.printClass(s); printData.printrank(s); break; case 2: s = new Triangle(); s.draw(); printData.printClass(s); printData.printrank(s); break; case 3:break; default: System.out.println(i
15、ts wrong!); break; System.out.println(you have exit); sr.close(); 6、实验结果:7、个人总结: 通过这次作业,学会了Java继承的基础用法,并在定义中使用静态方法和重构等一些用法来实现转型,可能是用的不熟,过程中出现了大量的错误,经过几次修改终于做了出来,收获很大。8、源代码:import java.util.Scanner;public class Shape int length=0; int wide=0; int line=0; int list=0; public Shape() public Shape(int li
16、ne,int list) this.line = line; this.list = list; public void draw() System.out.println(draw); class Rectangle extends Shape public Rectangle() super(3,3); public void draw() System.out.println(draw a rectangle); class Circle extends Shape public Circle() super(4,2); public void draw() System.out.pri
17、ntln(draw a Circle); class Triangle extends Shape public Triangle() super(1,3); public void draw() System.out.println(draw a Triangle); class printData static void printClass(Object obj) System.out.println(the class of the Shape is:+obj.getClass(); static void printrank(Shape str) System.out.println
18、(the coordinate of the centre is:x:+str.line+ y:+str.list); class TestShape public static void main(String args) int num=-1; Scanner sr = new Scanner(System.in); while(num!=3) System.out.println(please input the number of the shape you want); System.out.println(0:Rectangle 1:Circle 2:Triangle 3:exit
19、); num = sr.nextInt(); Shape s = new Shape(); switch(num) case 0: s = new Rectangle();/向上转型 s.draw(); printData.printClass(s); printData.printrank(s); break; case 1: s = new Circle(); s.draw(); printData.printClass(s); printData.printrank(s); break; case 2: s = new Triangle(); s.draw(); printData.pr
20、intClass(s); printData.printrank(s); break; case 3:break; default: System.out.println(its wrong!); break; System.out.println(you have exit); sr.close(); 三、Java的高级语言特征1、实验目标: 熟悉Java的泛型;了解Java的泛型特点;初步掌握Java的泛型编程方法。2、实验要求:编写一个程序,程序提供记事本功能:1构建记事本类,该类能存储不定数量的记录;能获得已经存储的记录数量;能追加记录;能展示已经存储的全部记录或其中任何一条记录;能删
21、除已经存储的全部记录或其中任何一条记录。2构建测试类,该类实现与用户的交互,向用户提示操作信息,并接收用户的操作请求。3、题目分析: 构建一个记事本类,要存储不定量的记录,需要用链表数组存放,利用链表数组的功能可以查询、添加、显示、删除记录。进行与用户交互,建立测试类。4、题目设计实现: 记事本类,用泛型ArrayList,建立测试类isTest(),进行与用户交互,再构建一个显示类showText()和删除类deleteText()。5、实现过程:static ArrayList diaryText = new ArrayList();/引用泛型/建立显示类,显示选择的记录public st
22、atic void showText(ArrayList list,int n) if(list.isEmpty() System.out.println(尚无记录n); else if(n=0) for(int j=0; j 0&n=list.size() System.out.println(n+:+diaryText.get(n-1); else System.out.println(输入错误,请重新输入n); /建立删除类,删除选择的记录public static void deleteText(ArrayList list,int n) if(list.isEmpty() Syste
23、m.out.println(尚无记录n); else if(n=0) list.clear(); System.out.println(已清除全部记录n); else if(n0&n=list.size() list.remove(n-1); System.out.println(已删除第+n+条数据n); else System.out.println(输入错误,请重新输入n); /建立测试类,与用户进行交互public static void isTest() int num=0,i=0; String str; Scanner input = new Scanner(System.in)
24、; 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.printl
25、n(您已退出程序n); input.close(); System.exit(0); else switch(num) case 1: System.out.println(请输入内容); input.nextLine(); str = input.nextLine(); diaryText.add(str); System.out.println(已保存n); break; case 2: System.out.println(已记录数为:+diaryText.size()+n); break; case 3: System.out.println(请输入修改的记录号); i = input
26、.nextInt(); System.out.println(请输入修改内容); input.nextLine(); str =input.nextLine(); diaryText.set(i-1, str); System.out.println(已修改n); break; case 4: System.out.println(请输入要显示第几条的内容); i = input.nextInt(); showText(diaryText,i); break; case 5: System.out.println(请输入要删除第几条的内容); i = input.nextInt(); deleteText(diaryText,i); break; default: System.out.println(输入错误,请重新输入!n); break; 6、实验结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1