java实验答案

java实验答案
java实验答案

实验一

水仙花数:

class shuixianhua

{//水仙花数

public static void main(String arg[]) {

int i,a,a1,b,b1,c;

for(i=100;i<1000;i++)

{

a=i%10;

a1=i/10;

b=a1%10;

b1=a1/10;

c=b1%10;

if(i==(a*a*a+b*b*b+c*c*c))

System.out.println(i);

}

}

}

输出如下:

153

370

371

407

打印出100以内素数:

public class sushu {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int i,j,k=0;

for(i=2;i<100;i++){

if(i==2)

System.out.println(i);

i++;

for(j=2;j

{

if(i%j!=0)

k=1;

}

if(k==1)

System.out.println(i);

}

}

求1!+2!+ (20)

public class jiecheng {

public static void main(String[] args) {

int i,sum=0,k;

for(i=1;i<=20;i++)

{

k=ji(i);

sum=k+sum;

}

System.out.print(sum);

}

static int ji(int n)

{

if(n==1)

return 1;

else

return ji(n-1)*n;

}

}

习题2.6

public class Test{

public static void main(String[] args)//第19题,打出图形.菱形{

int n=3;

for(int i=1;i<=n;i++)

{

for(int k=n-1;k>=i;k--)

{

System.out.print(" ");

}

for(int j=1;j<=2*i-1;j++)//打印*

{

System.out.print("*");

}

System.out.println();

}

}

}

编写程序,命令行窗口输出希腊字母表。(希腊字母表开始为α,最后一个为ω)

import java.applet.*;

import java.awt.*;

public class myapplet extends Applet

{

public void paint(Graphics g)

{

String str="";

for(char a='α';a<'ω';a++)

{

str+=a;

}

g.drawString(str, 2, 10);

}

}

实验二

设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个类。要求:(1)每个类都要构造方法并为成员设置get和set方法;(2)每个类都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。

Triangle.java

package figure;

public class Triangle

{

private double a,b,c;

public Triangle(double x,double y,double z)

{

a = x;

b = y;

c = z;

}

public void get()

}

public void set(double x,double y,double z) {

a = x;

b = y;

c = z;

}

public double Perimeter()

{

double per = a + b + c;

return per;

}

public double Area()

{

double area = 0;

double p=(a+b+c)/2;

double s = p*(p-a)*(p-b)*(p-c);

area = (double)Math.sqrt(s);

return area;

}

}

Rectangle.java

package figure;

public class Rectangle

{

private double length;

private double width;

public Rectangle(double l,double w)

{

length = l;

width = w;

}

public void get()

{

}

public void set(double l,double w)

length = l;

width = w;

}

public double Perimeter()

{

double per = 2*(length + width);

return per;

}

public double Area()

{

double area = length * width;

return area;

}

}

Circle.java

package figure;

public class Circle

{

private double r;

private double PI = 3.14;

public Circle(double x)

{

r = x;

}

public double get()

{

return r;

}

public void set(double x)

{

r = x;

}

public double Perimeter()

{

double per = 2*(PI * r);

return per;

}

public double Area()

{

double area = PI*(double)Math.pow(r,2);

return area;

}

}

figureTest.java

package Test;

import figure.Circle;

import figure.Rectangle;

import figure.Triangle;

public class figureTest

{

public static void main(String[] args)

{

Circle c =new Circle(3.2);

System.out.println(c.Area());

System.out.println(c.Perimeter());

Rectangle r = new Rectangle(3,4);

System.out.println(r.Area());

System.out.println(r.Perimeter());

Triangle t = new Triangle(3,4,4);

System.out.println(t.Area());

System.out.println(t.Perimeter());

}

}

编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。

public class Fac {

public static void main(String[] args) {

int n = 5;

long fac = digui(n);

long fac2 = nonDigui(n);

}

//循环方法

private static long nonDigui(int n) {

long fac = 1L;

for(int i = 1; i<=n ;i++){

fac = fac * i;

}

return fac;

}

//递归

private static long digui(int n) {

if(n == 1){

return 1;

}

return n * digui(n-1);

}

}

按照要求使用Java进行编码。

1)设计一个教师类Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学

院(seminary),为这些属性设置相应的get和set方法;

2)为Teacher类添加方法equals;(当两个教师对象的no相同时返回true)

3)为Teacher类添加方法toString,通过该方法可以返回“编号为**、姓名为**、年

龄为**的**学院老师”形式的字符串。

4)构造main方法进行测试。

Teacher.java

public class Teacher {

public static int num;

public int no;

public String name;

public int age;

public String seminary;

public Teacher() {

super();

}

public Teacher(int no, String name, int age, String seminary) { super();

this.no = no;

https://www.360docs.net/doc/351952749.html, = name;

this.age = age;

this.seminary = seminary;

}

public static int getNum() {

return num;

}

public static void setNum(int num) {

Teacher.num = num;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.360docs.net/doc/351952749.html, = name;

}

public int getNo() {

return no;

}

public void setNo(int no) {

this.no = no;

}

public String getSeminary() {

return seminary;

}

public void setSeminary(String seminary) {

this.seminary = seminary;

}

public boolean equals(Object otherObject){

if (otherObject == null)

return false;

if (getClass() != otherObject.getClass())

return false;

Teacher other = (Teacher) otherObject;

return no == other.no;

}

public String toString(){

return"编号:" + getNo() + "姓名:" + getName() + "年龄:" + getAge()+ "学院老师:"+ getSeminary();

}

}

---------------------------------------

TestTeacher.java

public class TestTeacher {

public static void main(String[] args){

Teacher t1 = new Teacher(1,"zhangsan",43,"计算机");

System.out.println(t1.getNo());

System.out.println(t1.getName());

System.out.println(t1.getAge());

System.out.println(t1.getSeminary());

System.out.println("t1.toString():" + t1);

t1.setName("wangwu");

t1.setAge(50);

t1.setSeminary("国际经贸");

System.out.println(t1.getNo());

System.out.println(t1.getName());

System.out.println(t1.getAge());

System.out.println(t1.getSeminary());

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

Teacher t2 = new Teacher(2,"lisi",44,"经管");

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

Teacher t3 = new Teacher(3,"zhouwu",45,"信息");

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

System.out.println(t2)

}

}

设计一个带表头的单链表(链表中的元素属于同一类型对象,但对象的类型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。

public class Code {

private int data;

private Code next;

public int getData() {

return data;

}

public void setData(int data) {

this.data = data;

}

public Code getNext() {

return next;

}

public void setNext(Code next) {

this.next = next;

}

}

public class List {

public Code head;

List()

{

this.head=new Code();

head.setData(0);

}

List(int n)

{

this.head=new Code();

Code p,temp;

p=head;

for(int i=0;i

{

temp=new Code();

temp.setData(i+1);

p.setNext(temp);

p=p.getNext();

}

head.setData(n);

}

//判断是否为空

public void IsEmptyList()

{

if (this.head==NULL)

System.out.println("空链表");

else

System.out.println("非空"); }

Public void I

//遍历节点

public void Traverse List()

{

int Size=0;

Code temp;

temp=head;

while(temp.getNext()!=null)

{

Size++;

temp=temp.getNext();

System.out.println(temp.getData());

System.out.println(Size);

}

}

//删除节点

public void DeleteCode(int n)

{

if(n>head.getData()){

System.out.println("找不到第"+n+"个节点"); return;

}

Code temp;

temp=head;

for(int i=0;i

{

temp=temp.getNext();

}

temp.setNext(temp.getNext().getNext()); head.setData(head.getData()-1);

}

//插入节点

public void InsertCode(int n,int d)

{

if(n>head.getData()+1){

System.out.println("找不到第"+n+"个节点"); return;

}

Code p=new Code();

p.setData(d);

Code temp;

temp=head;

for(int i=0;i

{

temp=temp.getNext();

}

p.setNext(temp.getNext());

temp.setNext(p);

}

public static void main(String args[])

{

List l=new List(5);

l.rList();

l.iCode(3,8);

l.rList();

l.dCode(4);

l.rList();

}

}

实验三

1、按照要求使用Java进行编码。

1)编写一个抽象类Shape,其中有抽象方法getArea()和getPerimeter()

2)在Shape类的基础上派生出Rectangle和Circle类,二者都实现了计算面积的方法

getArea()和计算周长的方法getPerimeter();

构造main函数,生成Rectangle和Circle对象,并用Shape类型的变量调用Rectangle和Circle对象的getArea()和getPerim()方法。

Shape.Java

import java.io.*;

public class Shape {

/**

* @param args

* @author

* @date Dec 4

*/

public static void main(String[] args) throws IOException{

float radius ; // 定义圆的周长

float a,b,c; // 定义三角形的三边长

float w,h; // 定义矩形的宽和长

int select; // 功能选项序号

BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

String str;

Graphics gp;

while(true)// 控制程序循环

{

PrintMenu();

while(true)

{

str=buf.readLine();

try {

if(str.length()>1 || str.charAt(0)>52 || str.charAt(0)<48)

{

System.out.print("输入不合法!请输入(0-3)的整数: ");

continue;

}

select=Integer.parseInt(str);

while(select > 3 || select <0)

{

System.out.print("输入不合法!请输入(0-3)的整数: ");

continue;

}

break;

}

catch(Exception ne)

{

System.out.print("输入的不是(0-3)之间的整数,请重新输入: ");

continue;

}

}

switch(select)// 处理用户要执行的功能

{

case 1: // 处理圆的情况

System.out.println("请输入圆的半径: ");

while(true)

{

try{

str=buf.readLine();

radius = Float.parseFloat(str);

//Circle circle =new Circle(radius);

if(radius<=0)

{

System.out.print("圆的半径应为大于0的实数,请重新输入圆的半径: ");

continue;

}

System.out.println("圆的半径为:" + radius);

gp = new Circle(radius);

gp.area();

gp.perimeter();

break;// 退出循环

}

catch( NumberFormatException ne)

{

System.out.println("输入的数据不合要求!\n请重新输入圆的半径: ");

continue;

}

}

break;

case 2: // 处理矩形的情况

System.out.println("请输入矩形的长和宽");

while(true)

{

try

{

System.out.print("输入矩形的长: ");

str=buf.readLine();

w=Float.parseFloat(str);

System.out.print("输入矩形的宽: ");

str=buf.readLine();

h=Float.parseFloat(str);

if((w<=0) || (h<=0))

{

System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: ");

continue;

}

// Rectangle rect=new Rectangle(w,h);

gp = new Rectangle(w,h);

System.out.println("矩形的长和宽为: " + w + "\t" + h);

gp.area();

gp.perimeter();

break; // 退出循环

}

catch(Exception ne)

{

System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: ");

}

}

break;

case 3:// 处理三角形的情况

while(true)

{

try

{

System.out.println("请输入三角形的三边长");

System.out.print("输入a : ");

str=buf.readLine();

a=Float.parseFloat(str);

System.out.print("输入b : ");

str=buf.readLine();

b=Float.parseFloat(str);

System.out.print("输入c : ");

str=buf.readLine();

c=Float.parseFloat(str);

if(!(a+b>c && a+c>b && b+c>a))// a,b,c不能构成三角形的情况,要求重新输入

{

System.out.print("您输入的三边不能构成三角形!请重新输入三角形的三边长: ");

continue;

}

//输入的三边长可以构成三角形的情况,计算并输出在不久的三角形的面积和周长

// Triangle tri = new Triangle(a,b,c);

System.out.println("三角形的三边长分别为: " + a + "\t" + b + "\t" + c);

gp = new Triangle(a,b,c);

gp.area();

gp.perimeter();

break;// 退出循环

}

catch(Exception ne) //出现异常的处理操作

{

System.out.print("输入的数据不符合要求!请重新输入三角形的三边长: ");

}

}

break;

case 0: //退出

System.out.println("感谢使用!");

System.exit(0);

}//end of switch

}//end of while 程序循环

}// end of main()

public static void PrintMenu() {

System.out.println("\t操作菜单");

System.out.println("1、求圆的面积和周长"); System.out.println("2、求矩形的面积和周长"); System.out.println("3、求三角形的面积和周长"); System.out.println("0、退出");

System.out.print("请选择要执行的操作: ");

}//end of PrintMenu()

}//end of class

Rectangle.java

package exp015S1_2;

public class Rectangle implements Graphics {

/**

* @param args

*/

float weight,height;

public Rectangle(float w,float h)

{

weight=w;

height=h;

}

//求面积

public void area()

{

System.out.println("面积为: "+ weight*height);

}

public void perimeter()

{

System.out.println("周长为: "+ 2*weight*height);

}

}

Circle.java

package exp015S1_2;

public class Circle implements Graphics{

/**

* @param args

*/

float radius; // 定义圆的周长

//Circle类的构造函数

public Circle(float r){

radius = r;

}

//求面积

public void area()

{

System.out.println("面积为: "+ Math.PI*radius*radius);

}

//求周长

public void perimeter()

{

System.out.println("周长为: "+ 2*Math.PI*radius);

}

}

Graphics.java

package exp015S1_2;

/**

* @author Administrator

*

*/

public interface Graphics {

abstract void area(); //求图形面积方法

abstract void perimeter(); //求图形周长方法

}

2、以电话为父类,移动电话和固定电话为两个子类,并使移动电话实现接口:可移动。

固定电话又有子类:无绳电话。定义接口及各类,明确他们的继承关系。

package edu.sdust.sc;

public interface Motive {

}

package edu.sdust.sc;

abstract class Phone{

abstract void call();

}

class MobilePhone extends Phone implements Motive{

public void call(){

}

}

class Telephone extends Phone{

public void call(){

}

}

class NotThreadPhone extends Telephone{

public void call(){

}

}

public class PhoneImpl {

public static void main(String[] args){

}

}

3、在实验2中所实现的Teacher类的基础上,修改Teacher类的代码,要求:由多个Teacher

对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。

public class Teacher{

private int no;

private String name;

private int age;

private String seminary;

public Teacher(int n, String na, int a, String s){

no = n;

name = na;

age = a;

seminary = s;

}

public int getNo(){

return no;

}

public int getAge(){

return age;

}

public String getName(){

return name;

}

public String getSeminary(){

return seminary;

}

Public void setNo(int no){

this.no=no;

}

Public void setName(String name){

https://www.360docs.net/doc/351952749.html,=name;

}

Public void setAge(int age){

this.no=no;

}

Public void setSeminary(String seminary){

this.seminary=seminary;

}

public void set(int no, String name, int age, String seminary){

this.no=no;

https://www.360docs.net/doc/351952749.html,=name;

this.age=age;

this.seminary=seminary;

}

public boolean equals(Object otherObject){

if (otherObject == null)

return false;

if (getClass() != otherObject.getClass())

return false;

Teacher other = (Teacher) otherObject;

return no == other.no;

}

public String toString(){

return"编号:" + getNo() + "姓名:" + getName() + "年龄:" + getAge()+ "学院老师:"+ getSeminary();

}

public static void main(String[] args){

Teacher t1 = new Teacher(101, "Jone", 24, "信息学院");

System.out.println("t2.toString():" + t2);

t1.setNo(102);

t1.setName("Jim");

Teacher t2 = new Teacher(102, "Jone", 23, "信息学院");

System.out.println("t2.toString():" + t2);

Teacher t3 = new Teacher(103, "Tom", 24, "信息学院");

System.out.println("t3.toString():" + t3);

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

Java语言程序设计-实验1

Java 语言程序设计习题1 p1.使用Eclipse: 1)打开Eclipse,File->new->Java project 2)Project name 写上“学号_姓名”(重要!),点击Finish。 3)鼠标右击左侧出现的Project文件,new->class

4)name栏写上习题名称,如创建的是主函数,勾上public void static main选项。 5)输入Java代码。 6)鼠标右击project文件下的***.java文件,run as->Java Application,或单击按钮。7)下侧console窗口将显示运行结果。

p2.在console窗口输出如下字符串: p3.创建如下变量: int a = 6; int b = 4; int c = 5; int x; 使用条件运算符(op1 ? op2 :op3),在a、b、c中选择值最大的变量,将其值赋予变量x。console窗口输出:“x=....”。 p4.创建如下变量: int speed; String s1 = “正常”; String s2 = “违章”; String result; 假设高速公路的最低限速是60,最高限速是120。于speed变量赋任意值,用条件运算符判断是否违章,并在console窗输出结果。 p5.调试课后习题2-1(教科书70页,Exer2_1.java) 余下时间调试1、2章例题代码,如实验完毕,可提前15分钟离开实验室。 关于实验报告(重要!): 发送报告书电子版与程序源代码交给班长。 报告书电子版:新建记事本(.txt)文件,复制各题的程序代码(复制时请标注class名称,如:p1.java)。文件名为: 学号_姓名.txt 程序源代码:左侧project文件->鼠标右键->properties,可查看源代码路径。将project 文件夹(例:123456_小明)整体压缩。文件名为: 学号_姓名.zip(或rar) 提交时限为下节理论课开始前,过期将扣分;下节实验课开始后,不再接受报告。 抄袭、拷贝者,双方都判为0分。

Java实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

JAVA实验报告参考

实验报告 实验名称工资管理程序第 2 次实验实验日期 2009- - 指导教师 班级 04软件工程学号姓名成绩 一、实验目的 1、掌握类的定义、域的定义及方法的定义。 2、掌握对象的定义与使用 3、掌握抽象类的用法 二、实验内容 1、建立一个抽象类Employee类 至少包括成员变量: 名、姓、年龄、性别 至少包括构造函数: 名和姓作为参数 至少包括方法: 取名称 至少包括抽象方法: 取收入earnings() 重写Object的toString()方法,返回Employee类的描述信息如名称信息 2、建立老板类Boss类继承Employee类 至少构造函数以名和姓及周工资作为参数 老板的工资是周工资 3、建立销售人员类 销售人员的收入= 销售量* 单价 要求:每个销售人员对象都能知道当前共有多少个销售人员 ... ... 4、在main函数中,分别创建老板对象、销售人员对象 三、实验步骤 3.1 进入eclips,创建一个名为employ的工程,新建一个抽象类Employee类 类中的成员变量有private String firstname; private String lastname; private String sex; private String age; 构造函数为employee(){} //无参数的构造函数 employee(String fn,String ln) //以名和姓为参数的构造函数 { this.firstname=fn; https://www.360docs.net/doc/351952749.html,stname=ln; } employee(String fn,String ln,String s,String a)//参数完整的构造函数 { this(fn,ln);

java实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

JAVA 课后实验三

实验三类与对象 1、(1)创建一个Rectangle类,添加两个(private)属性width与height (2)创建一个构造方法,选择width与height为形式参数。 (3)在Rectangle类中添加两个方法计算矩形的周长和面积 2、创建三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法main中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。(一个文件中包含三个class和main) a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。 b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的

功能。

3、编写下面程序写出运行结果,谈谈成员变量的继承与隐藏,方法的覆盖与重载。

上例内B继承了类A,在子类B中定义变量num2与父类A 同名,故在子类中父类成员变量num2被隐藏,故sum3=10+200=210;同时在子类B中父类A方法sum2()被重写(覆盖),使num2为子类定义值200,故sum4=50+200=250. 这个例子中,B是A的一个子类。其中声明了一个和父类A同名的变量num2,并定义了与之相同的方法sum2,这时在子类B中,父类的成员变量num2被隐藏,程序第25行父类的方法sum2被重载。于是子类对象所使用的变量num2为子类中定义的num2,子类对象调用的方法sum2( )为子类中所实现的方法。 4、理解下面3个类的定义,分析它们之间的关系,写出运行结果。

《java实验报告3》

项目二 实验一 实验内容: 1.(1)阅读如图2.1所示程序。该程序实现了一个圆环类Ring,该类有3个属性,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以自行设置也可以得到其值,并且该程序还可以返回圆环的面积Area。

图2.1 (2)新建Ring.java文件,输入程序,将程序中“代码1-4”处补充完整并保存。 (3)使用DOS命令进入其所存放的目录,编译运行该程序。并将完整程序和运行结果截图写入实验报告。 实验分析: 类的定义,对象的声明。 实验程序:

实验结果截图: 实验问题分析: 实验中,主要出现两个问题 (1)中英文分号输入错误

(2)编写程序时,对象的大小写错误,导致找不到该符号 编写程序,运行前,应该进行检查。 实验二 实验内容: 2.阅读如图2.2所示程序。该程序实现了一个圆类Circle,该类有3个属性,分别是圆周率pi,半径radius和圆对象个数objectNo,其中圆周率和圆对象个数为static成员。并且该程序还有两个static方法用来设置圆周率和显示当前圆对象个数。

图2.2 (2)新建Circle.java文件,输入程序并保存。

(3)使用DOS命令进入其所存放的目录,编译运行该程序。分析观察运行结果并将运行结果截图写入实验报告。 (4)能否将程序中的cir1.setRadius(10)改为Circle.setRadius(10)?为什么?将圆周率pi的static修饰符去掉,会出现什么结果?为什么?将setPI(d ouble p)的 static修饰符去掉呢?圆对象个数objectNo为什么要设置为stat ic,它的作用是什么?将你的分析写入实验报告。 实验分析: (4)cir1.setRadius(10)不能改为Circle.setRadius(10),因为Circle是定义的方法,它是一个类,cir1是它实例化的一个对象。必须是对象调用方法才有意义。就好比具体的是哪个人相互比较才有意义。 一起将圆周率pi的static去掉,程序结果第二个pi发生微小的变动。将圆周率pi的static修饰符去掉,会出现错误:无法从静态上下文中引用非静态的变量pi。然而,将setPI(double p)的 static修饰符去掉,程序结果不变。 static修饰的变量,是在程序中与别人共享的,意思是说,objectNo设置为static之后,每增加一个圆,objectNo自动加1,从而记录圆的个数。 比如,修改前, 修改后: 很明显,修改后的当前圆的个数记录的已经出现错误。 实验程序:

JavaWeb 实验三

JavaWeb 实验三 一、JSP实验题: P105 例子4-1 P108 例4-2 P109 例4-3 P110例4-4 P111 例4-6 P115 例4-8 P118 例4-9 P124 例4-12 二、mysql实验题 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grade INT(10) ); 2.为student表和score表增加记录 向student表插入记录的INSERT语句如下: INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区'); INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区'); INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市'); INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'); INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市'); INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市'); 向score表插入记录的INSERT语句如下: INSERT INTO score VALUES(NULL,901, '计算机',98); INSERT INTO score VALUES(NULL,901, '英语', 80);

实验一java基础知识

实验一:java基础知识 实验目的: 1.掌握jave中变量的类型。 2.掌握常用的运算符 3.程序流程控制:顺序,选择和分支 实验内容: 1、回文数: 编写一个Java程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指该数含有的数字逆序排列后得到的数和原数相同。 实验类别:验证性 2、猜数字游戏 编写一个Java应用程序,实现如下功能: 程序随机分配给客户一个1-100之间的整数 用户在输入对话框中输入自己的猜测 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了” 实验类别:设计性 3、输出希腊字母表 为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母 要观察一个字符在uniclde表中的顺序位置 实验类别:设计性

实验二类和对象 实验目的: 1.理解类的基本概念。 2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。 3.掌握定义重载方法和构造方法,方法参数的传递。 4. static变量和方法的使用。 实验内容: 1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型 的成员变量表示矩形的长和宽。要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。 实验类别:验证性 2、方法重载: 编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。 实验类别:验证性 3、学生类的创建: 1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等 2)声明一个构造方法,以初始化对象的所有域 3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.360docs.net/doc/351952749.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

最新JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

Java__实验三

《Java程序设计》实验报告 目录: 1题目 2目的和要求 3功能说明 4设计流程图 5源程序 6数据结果 7实验心得与体会 1、题目 用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察执行结果。例如:用户密码的合法化验证,要求密码由4-6个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常。 2、目的和要求 熟悉ava的异常机制处理原理,掌握用户自定义异常类,掌握如何抛出异常、捕获并处理异常。 3、功能说明 用户密码的合法化验证,密码由4-6位数字组成,若不在范围内,则抛出“密码超出范围”,若不是数字,则抛出“密码格式错误”,输入密码正确则输出“密码是”。

— 4、设计流程图 5、源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; class passwordException extends Exception { public passwordException() { super(); } public passwordException(String s) { super(s);JOptionPane.showMessageDialog(null,s); } } public class WUXING { public static String passwordcheck()throws passwordException { String str=JOptionPane.showInputDialog(null,"输入密码:"); if(str.length()<4||str.length()>6) { throw new passwordException("密码超出范围"); } else if (!str.matches("\\d+")) { throw new passwordException("密码格式错误!!"); } return str; } public static void main(String args[]) { try{ String password = passwordcheck(); JOptionPane.showMessageDialog(null,"密码是:" + password); }catch(passwordException e){ e.printStackTrace();

java实验1

Java开发环境(必写3.10) 一、实验目的 (1)熟悉J2SE开发工具的使用。 (2)学习编写简单的Java Application和Java Applet程序。 (3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。 二、实验原理 (1)Java源文件是文本文件。 (2)javac.exe 用来将Java源程序编译为字节码。 (3)java.exe 用来运行Java Application (4)编写网页,嵌入Java Applet。用appletviewer.exe或浏览器来运行该网页。 三、实验步骤 (1)上机输入以下程序。 (2)保存程序。 (3)编译、运行程序,检查实验结果是否正确。 (4)上机结束后,整理实验报告。 四、实验内容 (1)在“我的电脑”上点右键/点“属性”/点“高级”/点“环境变量”/点“新建”(用户变量)/变量名填“Path”、变量值填“C:\j2sdk1.4.2_06\bin”(视J2SE SDK安装的位置和版本)。(2)打开记事本,输入教材p13例2-1。输入完成后保存到自己的目录中(例如d:\12001j)。注意保存时,保存类型要选“所有文件”。源文件名必须和类名严格一致。源文件后缀要用“.java”。 (3)与(2)类似,输入教材p18例2-3。 (4)点“开始/运行”,输入“cmd”。输入d:<回车>,输入cd d:\12001j<回车>。 (5)输入javac MyJavaApplication.java<回车>。如果没有任何提示,则编译成功,检查d:\12001j 目录下将生成文件MyJavaApplication.class。否则请检查输入的内容与教材是否一致。 (6)输入javac MyJavaApplet.java<回车> 检查工作如(5) (7)输入java MyJavaApplication<回车> 观察运行结果。 (8)用记事本输入教材p19例2-4的内容,也存在d:\12001j下,文件名任意,后缀为“.htm”或“.html”。 (8)输入appletviewer AppletInclude.html<回车>,观察运行结果。 (9)到资源管理其中,双击“d:\12001j\AppletInclude.html”,观察运行结果。

java实验题及答案

面向对象程序设计(Java)实验报告 实验四数组 指导教师:赵丹 姓名:刘坤(贵州民大)学号: 专业:信息管理与信息系统日期:2015-04-22 一、实验目的: 熟悉Java数组的创建、初始化、遍历、排序等操作。 二、实验内容: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 2、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ; 3、现在给出两个数组: 数组a:“1,7,9,11,13,15,17,19”; 数组b:“2,4,6,8,10” 两个数组合并为数组c,按升序排列。 4、自己出一个和本章有关的有趣的题目,并编程解答。 三、实验步骤、分析与结论: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 ①java程序如下: public class ArraySwap { public static void main(String[] args){ int oldArr[]=new int[]{1,2,3,4,5,6}; System.out.println("转置前的数组为:"); printArray(oldArr); //输出一维数组 int newArr[]=new int[oldArr.length]; for(int i=0;i

JAVA实验报告

目录实验1 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程 实验目的: 本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。 实验内容: 本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。): (1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 程序: import java.util.*; public class SY3 { public SY3() { List list=new ArrayList(); list.add(1); list.add(10); list.add(5); list.add(7); list.add(6); list.add(2); list.add(9); list.add(20); list.add(14); list.add(35); list.add("ddy"); System.out.println("原序列:"); for(int i=0;i<=list.size()-1;i++) { System.out.println(list.get(i)); } System.out.println("新序列"); for(int i=0;i<=list.size()-1;i++) {

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

java实验答案全

实验3:Java流程控制及数组 4.编写一个Java Application程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果。 实验4:Java类与对象 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得性别”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的

3.按下面的要求完成Java Application程序,写出程序的运行结果。 (1)定义一个Java类Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

实验5:Java继承与多态 2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。 (2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 (4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

相关文档
最新文档