当前位置:文档之家› java实验 (1)

java实验 (1)

java实验 (1)
java实验 (1)

本科实验报告

课程名称:JAVA语言程序设计

实验项目:基础编程,数组和字符串,面向对象,异常,多线程

实验地点:

专业班级:班学号:

学生姓名:

指导教师:

2014年11月24日

目录

实验1 Java语言基础 (1)

实验2 数组和字符串编程..................... 错误!未定义书签。实验3 Java面向对象程序设计. (21)

实验4 Java异常处理 (21)

实验5 多线程编程 (26)

实验6 图形用户界面编程 (30)

实验7 输入与输出 (43)

实验8 网络编程 (49)

实验9 数据库编程................................. 错误!未定义书签。

实验1 Java语言基础

1.实验目的

(1)通过实验,掌握Java语言程序设计的基本方法。

(2)学会Java语言中标示符的命名、运算符和表达式的应用。

(3)熟练地掌握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循环语句,编写程序输出以下图案。

☆☆☆

☆☆☆☆☆

☆☆☆☆☆☆☆

☆☆☆☆☆

☆☆☆

package com.siant.xing;

public class xing {

public static void main(String[] args){ int H = 7, W = 7;

for(int i=1;i<=(H+1)/2;i++)

{

for(int j=1;j<=(W+1)/2-i;j++)

{

System.out.print(" ");

}

for(int k=1;k<=2*i-1;k++)

{

System.out.print("*");

}

System.out.println();

}

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

for(int j=1; j<=

i; j++)

{

System.out.print(" ");

}

for(int k=1; k<=W-2*i; k++)

{

System.out.print('*');

}

System.out.println();

}

}

}

运行结果:

(6)编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。

package com.saint.run;

public class run {

public static void main(String[] args){

for(int i=1900;i<=2010;i++){

int n = 0;

if((i%4==0)&&(i%100!=0)||(i%400==0)){

n++;

System.out.println(i+"是闰年");

if(n%5==0){

System.out.println("\n");

}

}

}

}

}

运行结果:

3.讨论、心得

我通过这个实验基本上掌握了Java Eclipse的使用方法以及Java语言程序设计的基本方法和Java程序流,从中受益匪浅,使我学会了许多东西,结果相对比较满意.

实验2 数组和字符串编程

一、实验目的和要求

(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。

(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。

二、实验内容和原理

(1)编写一个程序,在控制台输入10个数,按大小顺序输出。

(2)求一个3*3矩阵对角线元素之和。

(3)输入一段字符串,统计其中有多少个单词。(单词用空格隔开)

三、主要仪器设备

笔记本电脑HP6460b,win7,eclipse

四、操作方法与实验步骤

(1)

package com.elephant.Px;

import java.util.Scanner;

import java.util.Arrays;

public class paixu {

public static void main(String[] args) {

System.out.print("请输入要比较数字的个数:");

Scanner scanner=new Scanner(System.in);

int length=scanner.nextInt();

int[] ints=new int[length];

for(int i=0;i

System.out.print("请输入第"+(i+1)+"个数字:");

ints[i]=scanner.nextInt();

}

Arrays.sort(ints);

System.out.println(Arrays.toString(ints));

}

}

(2)

package com.elephant.Jzqh;

import java.io.*;

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class juzheqiuhe {

public static void main(String[] args) throws IOException { int i, j, temp=0, aH = 3, aL = 3, a[][];

BufferedReader buf = new BufferedReader(

new InputStreamReader(System.in));

String str;

a = new int[aH][aL];

System.out.println("输入数组a的各元素:");

for (i = 0; i < aH; i++) {

for (j = 0; j < aL; j++) {

str = buf.readLine();

a[i][j] = Integer.parseInt(str);

}

}

for (i = 0; i < aH; i++) {

for (j = 0; j < aL; j++) {

if(i==j||i+j==2)

temp=temp+a[i][j];

}

}

System.out.print("对角元素和为"+temp);

}

}

(3)

public class Tongji {

public static void main(String[] args) throws IOException { int num = 1;

String s;

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

BufferedReader buf = new BufferedReader(

new InputStreamReader(System.in));

s = buf.readLine();

for (int i = 0; i < s.length(); i++) {

if (s.charAt(i) == ' ') {

num++;

}

}

System.out.println("字符串有" + num + "个单词");

}

}

五、实验结果

(1)

(2)

(3)

六、讨论、心得

通过实验,我掌握Java语言中数组、字符串程序设计的基本方法,较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用,学到了很多知识,加深了对书本上知识的理解。

实验3 Java面向对象程序设计

一、实验目的和要求

掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。

二、实验内容和原理

(1)创建一个复数类complex,以附属进行数学运算、复数具有如下格式:RealPart+ImaginaryRart*I ,其中,I为-1的平方根。

要求如下:

①利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。

②提供两复数加、减、乘的运算方法。

③按格式(a,b)打印复数。其中a为实部,b为虚部。

(2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。

(3)编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。

(4)编程实现以下简单超市管理,具体要求如下:

①实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;

②定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。

③ main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作

提示:①超市货架可以使用商品数组,数组大小100表明存放100个商品。

②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。

三、主要仪器设备

笔记本电脑HP6460b,win7,eclipse

四、操作方法与实验步骤

(1)

package fushu;

public class Fushu {

public static void main(String[] args){

Complex m = new Complex(3, -5);

Complex n = new Complex(1, 4);

System.out.println(m + "+" + n + "=" + m.add(n));

System.out.println(m + "-" + n + "=" + m.minus(n));

System.out.println(m + "*" + n + "=" + m.multiply(n));

}

}

class Complex{

private double a;

private double b;

public Complex(){

this.a=0;

this.b=0;

}

public Complex(double a,double b){

this.a=a;

this.b=b;

}

public String toString(){

return"("+this.a+","+this.b+")";

}

public Complex add(Complex c){

return new Complex(this.a+c.a,this.b+c.b);

}

public Complex minus(Complex c) {

return new Complex(this.a - c.a, this.b - c.b);

}

public Complex multiply(Complex c) {

return new Complex(this.a * c.a - this.b * c.b,this.a * c.b + this.b

* c.a);

}

}

(2)

package yinghang;

public class Yinghang {

public static void main(String args[])

{

Account a=new Account("****",400);

System.out.println("账户余额为"+a.getbalance()+"元");

a.deposit(500);

System.out.println("你存入"+a.getbalance()+"元");

System.out.println("账户余额为"+a.getbalance()+"元");

a.withdraw(300);

}

}

class Account{

public String account;

public double balance=0;

public Account(String account,double balance)//构造方法{

this.account=account;

this.balance=balance;

}

public void deposit(double money){

this.balance+=money;

}

public double getbalance(){

return this.balance;

}

public void withdraw(double money){

if(money>this.balance)

System.out.println("金额不足,请重新输入");

else

{

this.balance-=money;

System.out.println("你取了"+money+"元");

}

}

}

(3)

package jiekou;

public class Jiekou {

public static void main(String[] args){

Crectangle n=new Crectangle (9,5,31);

n.Max();

n.Min();

}

}

interface N{

public void Max();

public void Min();

}

class Crectangle implements N{

int a,b,c;

public Crectangle (int a,int b,int c){

this.a=a;

this.b=b;

this.c=c;

}

public void Max(){

int max;

max=(a>b?a:b)>c?(a>b?a:b):c;

System.out.println("三个数中最大值是:"+max);

}

public void Min(){

int min;

min=(a

System.out.println("三个数中最小值是:"+min);

}

}

(4)

import java.io.*;

import java.util.Scanner;

public class Main {

static String name;

static float price;

static int num;

static String producer;

static Supermarkt market=new Supermarkt();

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

int i=0;

while(true){

market.ShowMenu();

i=Integer.parseInt(Getline());

switch(i){

case 1: Add();

break;

case 2: Del();

break;

case 3: Showgoods();

break;

case 4: Query();

break;

case 5: System.out.print("成功退出系统");

return;

default:System.out.println("输入错误,请重新输入!");

break;

}

}

}

public static void Query() {

System.out.println("**查询商品**");

System.out.print("商品名:");

name=Getline();

if(!market.Query(name)){

System.out.print("没有该商品");

}

}

public static void Showgoods() {

System.out.println("**显示所有商品**");

if(!market.Showgoods()){

System.out.println("没有任何商品");

}

}

public static void Del() {

System.out.println("**删除商品**");

System.out.print("商品名称:");

name=Getline();

if(market.Del(name)){

System.out.println("删除商品->" + name + " 成功!");

}

else{

System.out.println("该商品不存在");

}

}

public static void Add() {

System.out.println("**增加商品**");

System.out.print("商品名称:");

name=Getline();

System.out.print("商品价格:");

price=Float.parseFloat(Getline());

System.out.print("商品数量:");

num=Integer.parseInt(Getline());

System.out.print("商品产地:");

producer=Getline();

if (market.Add(name, price, num,producer)) {

System.out.println("增加商品->" + name + " 成功!");

} else {

System.out.println("存在相同商品,增加失败!");

}

}

public static String Getline() {

Scanner scan = new Scanner(System.in);

String str = scan.nextLine();

return str.trim();

}

}

Goods

public class Goods {

private String name;

private float price;

private int num;

private String producer;

public Goods(String name,float price,int num,String producer){ https://www.doczj.com/doc/2a15045531.html,=name;

this.price=price;

this.num=num;

this.producer=producer;

}

public String GetName(){

return https://www.doczj.com/doc/2a15045531.html,;

}

public float GetPrice(){

return this.price;

}

public int GetNum(){

return num;

}

public String GetProducer(){

return this.producer;

}

public void Showgoods(){

System.out.print("商品名称: "+name+" 商品价格:"+price+" 商品数量:"+num+" 商品产地:"+producer+"\n");

}

}

Supermarket

import java.util.Vector;

public class Supermarkt {

static Vector listgoods=new Vector();

public void ShowMenu() {

System.out.println("---------");

System.out.println("1.增加商品 ");

System.out.println("2.删除商品");

System.out.println("3.显示商品 ");

System.out.println("4.查询商品 ");

System.out.println("5.退出系统 ");

System.out.println("--------");

return;

}

//增加商品

public boolean Add(String name,float price, int num,String producer){ int count=listgoods.size();

for(int i=0;i

if(listgoods.get(i).GetName().equals(name))

return false;

Goods newgoods =new Goods(name,price,num,producer);

listgoods.add(newgoods);

return true;

}

//删除商品

public boolean Del(String name)

{

int count=listgoods.size();

for(int i=0;i

if(listgoods.get(i).GetName().equals(name)){

listgoods.remove(i);

return true;

}

return false;

}

//显示商品

public boolean Showgoods(){

int count=listgoods.size();

if(count==0)

return false;

else{

for(int i=0;i

listgoods.get(i).Showgoods();

return true;

}

}

//查询商品

public boolean Query(String name){

int count=listgoods.size();

for(int i=0;i

if(listgoods.get(i).GetName().equals(name)){

listgoods.get(i).Showgoods();

return true;

}

return false;

}

}

五、实验结果与分析

(1)

(2)

(3)

(4)

六、讨论、心得

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

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分。

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

java实验一.二.三

实验一 6.编写一程序,运行后从键盘输入三个整数,输出其中的最大数。(if语句) 7.编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。百分

制与五分制的对应如下:(switch语句) 100~90 — A, 89~80 — B, 79~70 — C, 69~60 — D, <60 — E 实验二流程控制程序设计

一、实验目的和要求 掌握Java流程控制语句、Math类、数组的编程方法。 要求至少完成实验容题的70%。 二、实验容 1.打印一个三角形的1~9的乘法表。

2.编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。(while,switch语句) package.itcast.test; import java.util.Scanner; public class month { public static void main(String[]args){ Scanner c = new Scanner(System.in); System.out.println("请输入月份;"); int a = c.nextInt(); switch(a){ case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12:

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基础知识

实验一: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 课后实验三

实验三类与对象 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实验

实验1 Java开发环境的熟悉 一、实验目的 1、掌握下载JDK 软件包、Eclipse软件的方法; 2、掌握设置Java 程序运行环境的方法; 3、掌握编写与运行Java 程序的方法; 4、了解Java 语言的概貌; 5、为学习Java 语言和进行Java 程序的实验做好准备工作。 二、实验要求 1、了解java集成开发环境jdk的结构; 2、掌握jdk的环境变量的配置,理解一个java程序的运行过程; 3、能基本上清楚java程序的组成,简单的查找一些程序错误; 4、能分辨出应用程序何小应用程序的不同,及他们在运行上的差别; 三、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、jdk程序集成环境Eclipse 四、实验步骤 1、先安装好jdk; 2、配置环境变量;

3、书写java程序; 注:保存在一个磁盘中便于利用dos方便查找,保存格式是所有文件格式4、运行程序,查看结果。

先利用dos对目标文件进行检测及编译,直接javac,然后没有错误之后就运用java x(x为文件名)就可以查看出运行程序。 五、实验总结 本次实验我没有利用Eclipse来进行编译及运行,我在dos系统的操作下,运行了简单的程序,开始没有熟悉java语言中的一些大小写的情况,导致尝试性的出错,然后可能是对dos系统的健忘吧,几次都没有成功的运行,后来发现时操作问题最后运行只要用java x(x为文件名)这种格式就可以了。 六、思考题 1.用java运行软件Eclipse来运行java程序 3、JDK和JRE的区别? JRK只包含了开发环境还有只是针对开发者的,而jdk有相应的开发工具、

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语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 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.doczj.com/doc/2a15045531.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__实验三

《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”,观察运行结果。

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

Java实验

实验3 继承和多态 一、实验目的: 1、学习和使用类的继承。 2、掌握关键字super的意义和用法。 3、学习掌握类的方法覆盖技术。 4、熟悉Object类,以及它提供给子类的方法equals、toString、clone。 5、学习掌握修饰符protected和final的用法。 6、学习掌握抽象类的概念和使用方法。 7、学习掌握多态性和动态绑定的概念,学习使用多态进行程序设计。 8、学习掌握接口的概念和定义接口的方法。 9、学习使用Cloneable接口和clone方法进行对象容的复制。 10、理解浅复制和深复制的概念,掌握覆盖clone方法进行对象容深复 制的技术。 二、实验任务: 1、使用Java SDK建立一个非图形化的标准Java程序学习和使用类的继承、 掌握关键字super的意义和用法、掌握类的方法覆盖技术、熟悉Object 类,以及它提供给子类的方法equals、toString、clone、学习掌握抽象 类的概念和使用方法、学习掌握多态性和动态绑定的概念,学习使用多 态进行程序设计。程序要求: (1)首先创建一个类家族,其中抽象类几何图形类GeometricObject 为父类,圆类Circle和矩形类Rectangle为子类。几何图形类

GeometricObject中定义保护型字符串变量color,表示图形的颜 色;该类要具备构造方法和两个抽象方法findArea和 findPerimeter,抽象方法findArea求图形面积,抽象方法 findPerimeter求图形周长。 (2)Circle类和Rectangle类是GeometricObject类的子类,其中应实现父类的抽象方法。 (3)创建静态方法equalArea,用来比较图形的面积(不是以上三个类的成员方法)。方法名称如下: static boolean equalArea(GeometricObject object1, GeometricObject object2) (4)创建静态方法displayGeometricObject,用来显示几何对象的信息(不是以上三个类的成员方法)。方法名称如下: static void displayGeometricObject(GeometricObject object) (5)程序主方法中创建两个几何对象,一个圆和一个矩形,并用GeometricObject类的引用变量引用它们,调用equalArea比较两 个对象的面积是否相等,并调用displayGeometricObject方法显 示对象信息。 2、使用Java SDK建立一个非图形化的标准Java程序,进一步学习多态特 性以及接口的概念和利用接口实现多态的方法。程序要求如下: (1)首先创建圆类Circle和圆柱体类Cylinder,其中Circle类是父类,Cylinder类是子类;

(完整版)JAVA实验3答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验三. 分支与循环语句课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 9月22日 一、实验目的 (1)学习掌握Java中的if-else if-else多分支语句; (2)学习使用Java 程序中的if-else分支和while循环语句解决问题。 二、实验任务 完成实验三指导上实验1、实验2的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 回文数 编写一个Java应用程序。用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。 代码如下: Number.java import java.util.Scanner; public class Number{ public static void main(String args[]){ int number=0,d5,d4,d3,d2,d1; Scanner reader=new Scanner(System.in); System.out.println("输入一个1至99999之间的数"); number=reader.nextInt(); if(number>=1&&number<=99999){ d5=number/10000; d4=number%10000/1000; d3=number%1000/100; d2=number%100/10; d1=number%10; if(d5!=0){ GDOU-B-11-112

实验四 Java知识

实验四java知识 本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。 【课堂练习】一 (1)对数组排序 【实验效果】 根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp 【课堂练习】Java面向对象思想 课堂练习——包创建和引用 案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。 课堂练习——相同包之间的访问 案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。 课堂练习——不同包中类之间的访问 案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。 课堂练习——final变量 案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法 案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。 课堂练习——继承性 案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。 课堂练习——抽象类 案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。 课堂练习——权限访问 案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。 案例:在项目的包aaa中创建类SameExm,也就是和前一个例子中创建的Exm类都放在同一个包aaa中,然后在SameExm类的主方法中创建类Exm的实例,并分别输出类Exm中4个成员变量的值,测试上述4种权限修饰符的成员变量在相同包的其他类中的可见性。

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实验报告实验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实验1

Java实验1 一、按以下要求编写程序: 1.定义一个Shape接口,该接口中只有一个抽象方法getArea(),该方法无参数, 返回值类型为double型; 2.定义一个圆类Circle,满足以下条件: a)Circle类实现Shape接口; b)定义Circle类的成员变量r,表示圆的半径,数据类型为int; c)定义Circle类的构造方法,参数名为r,用该参数初始化圆的半径; d)实现getArea()方法,计算圆的面积(注:圆周率取3.14) 3.编写测试类TestCircle,利用Circle类计算半径为5的圆的面积,并输出 面积。 二、按以下要求编写程序: 1.Employee是抽象类,包含姓名、年龄和社会保险号码等属性,有一个抽象方 法getInfo()用于输出对应对象的所有属性; 2.SalariedEmployee和HourlyEmployee类是Employee的子类。 SalariedEmployee类有周薪,HourlyEmployee类有相应的基本工资和工作小时数; https://www.doczj.com/doc/2a15045531.html,missionEmployee 类SalariedEmployee类的子类,有佣金率和销售总额; 4.BasePlusCommissionEmployee 类是CommissionEmployee类的子类,应当有 对应的基本工资。 5.每个类有合适的构造方法和访问其成员属性的方法。请编写一个程序,实例 化以上所有类的对象,并用getInfo()方法输出相关员工的基本信息。 三、节点类Node代码如下: class Node{ int data; Node next; } 设计一个有序单链表类SortedLink,它有一个成员变量Node head,具有add(Node),remove(Node)方法,实现对指定结点的插入删除操作,并且始终保持链表的有序状态。 注:有序单链表类SortedLink按照data由小到大排序。

相关主题
文本预览
相关文档 最新文档