文档库 最新最全的文档下载
当前位置:文档库 › 南昌大学Java实验报告(1)

南昌大学Java实验报告(1)

南昌大学Java实验报告(1)
南昌大学Java实验报告(1)

南昌大学实验报告

学生姓名:学号:专业班级:

实训类型:□验证□综合□设计□创新实验日期:2017.11.1 实验成绩:

一、实验项目名称

Java开发环境搭建和Java语言基础

二、实验的评分标准

实验分为A~F,A为最高,F最低。

F:在规定时间内没有完成所有的实验,而且没有及时提交实验报告,或者实验过程中出现了抄袭复制他人实验代码。

D:能完成实验,但是实验结果出现严重错误,不能体现对教学内容的理解。

C:能基本完成实验,实验结果基本正确。但是实验内容有较少的错误,提交的实验代码质量一般。

B:能较好的完成实验,实验报告条理清楚,实验代码结构清晰,代码质量较高,及时更正试验中出现的错误,并对运行中一些异常错误进行分析,解释错误产生的原因。

A:能较好的完成实验,实验代码质量高,实验报告完成度高,能在实验完成的基础上,根据个人的理解增加实验的新功能,具有一定的创新能力。

三、实验目的和要求

1.掌握Java的基础知识

2.掌握和运用Java的控制语句和数组

3.使用Eclipse平台开发Java应用

四、实验内容

1.HelloWorld的应用程序和Applet程序。

A.javap工具解析HelloWord字节码的类

B.javap反汇编HelloWorld字节码

C.修改代码,使之成为应用程序和Applet小程序

两种程序的“入口”不同,一个是main()函数,一个是init()函数,所以直接添加代码即可,运行时,根据IDE的run功能,选择相应的程序执行即可。

第一个和最后一个分别是Applet程序

和Application程序

D.写文档注释,生成文件

一些效果截图

2.打印日历程序

3.枚举类统计Java成绩

非法输入程序会报错退出

正确结果

自学了一下javafx,写了个简陋的UI。(要配合控制台输入数据,有待改进)

4.四连子游戏

继续自学了一下javafx,给这个游戏包装了一个UI。本题和老师理解的要求可能有出入,游戏规则有点差别,但是底层逻辑是差不多的,于是我还是按照自己的想法写了下去,希望老师理解。

某一列下满,按钮失效

获胜,信息提示

绿色指示当前局该哪一方落子

平局

Restart:清盘重玩

Quit:退出

实验源代码如下:

-------1.helloworld---------------

package one;

import java.applet.Applet;

import java.awt.*;

/**

* This class is used to show hello world information

* in two kinds of ways

*

* 1.print the information in the console

* 2.generate an applet to display the info

*

* @author Yuchen Tian

*/

public class HelloWorld extends Applet{

/**

* main function for Application

* @param args

*/

public static void main(String[] args){//for application

System.out.println("Hello World!");

}

public void init(){ }//for applet

/**

* create an graph on applet to show info

* @param g

*/

public void paint(Graphics g){

g.drawString("Hello World!",20,20);

}

}

------2.printCalendar----

---------Part1---------------

package two;

/*

this Month enum defines the 12 months of all year

including the information of:

index:the order in current class

name:the full name of the month

day:days in this month

*/

public enum Month {

JAN(1,"January",30),FEB(2,"February",28),MAR(3,"March",31),APR(4,"April",30 ),

MAY(5,"May",31),JUN(6,"June",30), JUL(7,"July",31),AUG(8,"August",31), SEP(9,"September",30),OCT(10,"October",31),NOV(11,"November",30),DEC(12,"De cember",31);

private int index;

private String name;

private int day;

Month(int index,String name,int day){

this.index = index;

https://www.wendangku.net/doc/c112738947.html, = name;

this.day = day;

}

public String getName(){

return name;

}

public int getDay(){

return day;

}

//when a month call this method,it becomes the month following it

public Month next(){

int index = (this.index+1 > 12) ? 1 : this.index+1;

return getMonthByIndex(index);

}

//get a month according to the it's index in the enum

public Month getMonthByIndex(int index){

for(Month c:Month.values()){

if(c.index == index)

return c;

}

return null;

}

}

-------part2-------

package two;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class MyCalendar {

private int year;

private int startDay;

private Month m;

public MyCalendar(int year){

this.year = year;

this.startDay = getFirstDay(0,1) % 7;//month1,day1

m = Month.JAN; //start month of the year

}

public int getFirstDay(int month, int day){

GregorianCalendar tool = new GregorianCalendar(this.year,month,day); return tool.get(Calendar.DAY_OF_WEEK);//0 for Sun ,1 for Mon...

}

public void printMonth(Month m){

//generate the head information of each month

System.out.printf("%20s\n",m.getName());

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

System.out.println("Su Mo Tu We Th Fr St");

int count = 0;

for(int i=0;i

System.out.printf("%3c",' ');

count++;

}

for(int i=1;i<=getDays(m);++i){//print days

System.out.printf("%2d ",i);

count++;

if(count%7==0)

System.out.println();

}

System.out.println();

startDay = (getDays(m) + startDay) % 7; //change the startDay for the next month

}

public boolean isLeapYear(){

return year%400 == 0 || (year%4 == 0 && year%100 !=0);

}

//get days in specific month

//days in February is unique when it is leap year

//hence,a special approach is implement to alter it right

public int getDays(Month m){

int days = m.getDay();

if(isLeapYear() && m.getName().equals(Month.FEB.getName()))//special

for February

days += 1;

return days;

}

//once printed the first month

//change the m to the next month

public void printAllMonth(){

for(int i = 0;i<12;++i){

printMonth(m);

m = m.next();

}

}

}

---------part3----------

package two;

import java.util.Scanner;

public class PrintCalendar {

public static void main(String[] args){

//Prompt the user to input a year

Scanner input = new Scanner(System.in);

System.out.print("Please input a year:");

int year = input.nextInt();

//create a MyCalendar instance

MyCalendar cal = new MyCalendar(year);

cal.printAllMonth();

}

}

----------3,aggregate the scores--------

--------part1--------

package three;

public enum GradeRank {

A("优秀",0),B("良好",1),C("中等",2),D("及格",3),E("不及格",4); private String info;

private int index;

GradeRank(String info, int index){

https://www.wendangku.net/doc/c112738947.html, = info;

this.index = index;

}

public int getIndex() {

return index;

}

public String getInfo() {

return info;

}

public GradeRank changeRank(Double grade){

GradeRank g;

if(grade>=90 && grade<=100)

g = GradeRank.A;

else if(grade<90 && grade>=80)

g = GradeRank.B;

else if(grade<80 && grade>=70)

g = GradeRank.C;

else if(grade<70 && grade>=60)

g = GradeRank.D;

else if(grade<60 && grade>=0)

g = GradeRank.E;

else

g = null;

return g;

}

}

-------part2-------

package three;

import java.util.Scanner;

public class EvaluateGrade {

private int[] collection;

private GradeRank g; //the standard for Aggregating

private int num; //how many scores you need to calculate

public EvaluateGrade(int num) {

this.collection = new int[5];//n different ranks

g = GradeRank.A;

this.num = num;

}

//when a new score is input

//g is gonna to change according to the value of the score

public void checkRank(Double grade){

g = g.changeRank(grade);

if(g==null){

System.out.println("Invalid input!");

System.exit(1);

}

collection[g.getIndex()]++;

}

public void countRank(){

Scanner input = new Scanner(System.in);

System.out.println("Input the scores:");

for(int i = 0;i

Double grade = input.nextDouble();

checkRank(grade);

}

}

public void display(){

for(int i=0;i<5;i++)

System.out.printf("%s%c%5.1f%c\n",indexToStr(i),':',getPercent(i),'%'); }

//acquire the information using index

//to display the outcome better

public String indexToStr(int i){

for(GradeRank c : GradeRank.values()){

if(c.getIndex()==i)

return c.getInfo();

}

return null;

}

public double getPercent(int i){

return ((double) collection[i]/num)*100;

}

}

--------part3--------

package three;

import java.util.Scanner;

public class Aggregate {

public static void main(String[] args){

Scanner number = new Scanner(System.in);

System.out.print("Please input the number of scores you want to deal with:");

int n = number.nextInt();

EvaluateGrade checker = new EvaluateGrade(n);

checker.countRank();

checker.display();

}

}

-----------4,chessgame--------

--------part1------

/*

this class is designed to store data in playing games

and make the rule of the playing as well

*/

public class Game {

private int[][] board;

private int[] full;

private boolean isBlack;

public Game(){

this.board = new int[7][];

for(int i=0;i<7;i++)

this.board[i] = new int[6];

this.isBlack = true;//black side is first

full = new int[7];

for(int i=0;i<7;i++)

full[i] = 5;

}

public boolean isBlack() {

return isBlack;

}

//change to the other side to play

public void inTurn(){

this.isBlack = !this.isBlack;

}

public boolean isFull(int i){

return full[i] == -1;

}

public boolean isAllFull(){

for(int i=0;i<7;++i)

if(!isFull(i))

return false;

return true;

}

//the most important part

//check whether one side has won the game

public boolean checkWin(int i,int j){

if(line(i,j)||column(i,j)||leftR(i,j)||rightL(i,j))

return true;

else

return false;

}

public boolean line(int i,int j){

int cx = 0;

for(int m =i+1;m<7 && board[m][j]==board[i][j];++m)

cx++;

for(int m = i-1;m>=0 && board[m][j]==board[i][j];--m)

cx++;

if(cx>=3)

return true;

else

return false;

}

public boolean column(int i,int j){

int cx = 0;

for(int n =j+1;n<6 && board[i][n]==board[i][j];++n)

cx++;

for(int n = j-1;n>=0 && board[i][n]==board[i][j];--n)

cx++;

if(cx>=3)

return true;

else

return false;

}

public boolean leftR(int i,int j){

int cx = 0;

for(int m=i+1,n=j+1;m<7 && n<6 && board[m][n]==board[i][j];++m,++n) cx++;

for(int m=i-1,n=j-1;m>=0 && n>=0 && board[m][n]==board[i][j];--m,--n) cx++;

if(cx>=3)

return true;

else

return false;

}

public boolean rightL(int i,int j){

int cx = 0;

for(int m=i-1,n=j+1;m>=0 && n<6 && board[m][n]==board[i][j];--m,++n) cx++;

for(int m=i+1,n=j-1;m<7 && n>=0 && board[m][n]==board[i][j];++m,--n) cx++;

if(cx>=3)

return true;

else

return false;

}

//change the data of game when one side drop the chess

public int dropChess(int i){

board[i][full[i]] = (isBlack()) ? 1 : 2;

inTurn();

full[i]--;

return full[i]+1;

}

}

-----part2------

import javafx.geometry.Insets;

import javafx.scene.control.Button;

import javafx.scene.control.TextField;

import https://www.wendangku.net/doc/c112738947.html,yout.BorderPane;

import https://www.wendangku.net/doc/c112738947.html,yout.GridPane;

import javafx.scene.paint.Color;

import javafx.scene.shape.*;

import javafx.scene.text.*;

/*

this class is designed to append graph of each element into the game determined the layout of these elements as well

more importantly, the change of the elements as the game playing

*/

public class ChessBoard {

private Game rule;

//the elements

private Font font;

private Rectangle[] recs;

private TextField result;

private Button[] bts;

private Button[] indicator;

private Button[] choice;

private Circle[] light;

private Circle[] chess;

//the framework

private GridPane board;

private BorderPane frame;

private GridPane control;

//initialize all the elements

ChessBoard() {

this.rule = new Game();

this.font = Font.font(null, FontWeight.NORMAL, null, 20);

this.recs = new Rectangle[42];

this.result = new TextField();

this.bts = new Button[7];

this.indicator = new Button[2];

this.choice = new Button[2];

this.light = new Circle[2];

this.chess = new Circle[42];

this.board = new GridPane();

this.frame = new BorderPane();

this.control = new GridPane();

this.result = new TextField();

}

//set all the properties of the elements

public void init() {

for (int i = 0; i < 42; i++) {

recs[i] = new Rectangle(60, 60);

recs[i].setFill(Color.gray(0.36));

chess[i] = new Circle(25);

chess[i].setFill(Color.gray(0.36));

}

for (int i = 0; i < 7; i++) {

bts[i] = new Button("Drop");

bts[i].setPrefSize(60, 40);

}

for (int i = 0; i < 2; i++) {

light[i] = new Circle(16);

light[i].setFill(Color.rgb(0, 230, 0, 1));//control capacity }

choice[0] = new Button("Restart");

choice[1] = new Button("Quit");

indicator[0] = new Button("Black");

indicator[1] = new Button("White");

for (int i = 0; i < 2; i++) {

indicator[i].setFont(font);

indicator[i].setPrefSize(100, 40);

indicator[i].setMouseTransparent(true);

choice[i].setPrefSize(150, 40);

choice[i].setFont(font);

}

result.setFont(font);

result.setPrefSize(180,50);

result.setEditable(false);

}

//add all the elements into the main frame

//set the layout between them

public void load() {

board.setHgap(1);

control.setVgap(10);

//fill the chess board

for (int i = 0; i < 42; ++i){

board.add(recs[i], i % 7, (i / 7) + 1);

board.add(chess[i],i % 7, (i / 7) + 1);

GridPane.setMargin(chess[i], new Insets(0, 0, 0, 5));

}

//for control part

for (int i = 0; i < 2; i++) {

GridPane.setMargin(light[i], new Insets(0, 20, 0, 20)); GridPane.setMargin(choice[i], new Insets(20, 0, 0, 0)); control.add(choice[i], 0, i + 10, 2, 1);

control.add(indicator[i], 0, i+1);

control.add(light[i], 1, i+1);

}

control.add(result,0,3,2,1);

GridPane.setMargin(result,new Insets(20, 20, 0, 0));

for (int i = 0; i < 7; i++)

board.add(bts[i], i, 0);

frame.setCenter(board);

frame.setRight(control);

}

public void clearBoard(){

for(int i = 0;i<42;++i)

chess[i].setFill(Color.gray(0.36));

this.rule = new Game();

result.clear();

for(int i = 0;i<7;++i)

getButton(i).setOpacity(1);

}

public int addChess(int i) {

int pos = rule.dropChess(i);//(i,pos) is the right point

if (!rule.isBlack())

chess[pos*7+i].setFill(Color.BLACK);

else

chess[pos*7+i].setFill(Color.WHITE);

return pos;

}

public void setBtsOff(int tag){

if(tag<0){

for(int i = 0;i<7;++i)

getButton(i).setOpacity(0);

}

else

getButton(tag).setOpacity(0);

}

public void changeLight() {

if (rule.isBlack()) {

light[0].setFill(Color.rgb(0, 230, 0, 1));

light[1].setFill(Color.rgb(0, 230, 0, 0));

} else {

light[0].setFill(Color.rgb(0, 230, 0, 0));

light[1].setFill(Color.rgb(0, 230, 0, 1));

}

}

public boolean isWin(int i,int j){

return rule.checkWin(i,j);

}

public BorderPane getFrame() {

return frame;

}

public Button getButton(int i){

return bts[i];

}

public boolean isFull(int i){

return rule.isFull(i);

}

public Button getChoice(int i){

return choice[i];

}

public void printInfo(int i,int j){

if(isWin(i,j)) {

if(rule.isBlack())

result.setText("White side win!");

else

result.setText("Black side win!");

}

if(rule.isAllFull())

result.setText("Draw!");

}

}

-------part3-------

import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import https://www.wendangku.net/doc/c112738947.html,yout.GridPane;

import javafx.stage.Stage;

/*

This class is designed to organize the changes of the game from the last lever logically

What’s more,add events to certain circumstances, enabling the game run mo re fluently

*/

public class ControlGame extends Application {

private ChessBoard chessBoard = new ChessBoard();

private boolean lock = false;

public void start(Stage stage){

chessBoard.init();

chessBoard.load();

chessBoard.changeLight();

addInfoEvents();

addQuitEvent();

addRestartEvent();

Scene scene = new Scene(chessBoard.getFrame(),650,450);

stage.setScene(scene);

stage.show();

}

public void addInfoEvents(){

for(int i = 0;i<7;++i){

chessBoard.getButton(i).setOnAction(new

EventHandler() {

@Override

public void handle(ActionEvent event) {

int col =

GridPane.getColumnIndex((Button)event.getSource());

if(!chessBoard.isFull(col) && !lock){

int j =chessBoard.addChess(col);

if(chessBoard.isWin(col,j)){

lock = true;

chessBoard.setBtsOff(-1);

}

chessBoard.printInfo(col,j);

chessBoard.changeLight();

}//if

if(chessBoard.isFull(col))

chessBoard.setBtsOff(col);

}//class

});

}

}

public void addQuitEvent(){

chessBoard.getChoice(1).setOnAction(new EventHandler() { @Override

public void handle(ActionEvent event) {

System.exit(0);

}

});

}

public void addRestartEvent(){

chessBoard.getChoice(0).setOnAction(new EventHandler() { @Override

public void handle(ActionEvent event) {

chessBoard.clearBoard();

lock = false;

}

});

}

}

五、问题和讨论

1.总结归纳JA V A程序开发的过程

首先要正确安装JDK,并配置环境变量。然后就可以在编辑环境中写java代码了,写好后,用下载安装的工具进行编译,生成字节码文件.class后缀,然后在java的虚拟机环境下就可以运行了。

2.说明jdk常见工具javac,javap,javadoc的作用。

Javac:对java源程序进行编译,生成.class后缀的字节码文件

Javap:对字节码文件进行解析,反汇编

Javadoc:根据源代码中的文档类型注释,自动生成相应的文档

六、体会和建议

本次实验4个程序写下来,问题最多的是第四个小游戏,因为刚自学了几天图形界面,用起来不是很熟练。网上找的一些相关资料也是零零散散,并不全面,最后还是求

助于官方文档。写最后一个程序的时候才意识到老师所说:“一个函数的功能要尽量单一”,之前没有注意,导致后面增加图形界面的时候删删改改,逻辑不好组合。就这样删删改改,看文档,一个星期就没了。不过确实学到了很多新东西。

南昌大学WEB实验报告

实验报告 实验课程:《 WEB编程》 学生姓名: 学号: 专业班级: 2010年 12 月 20 日

目录 ●实验一 .............................................. ●实验二 ............................................. ●实验三 ............................................. ●实验四 ............................................. ●实验五 ............................................. ●实验六 ............................................. ●实验七 ..............................................

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合■设计□创新实验日期:2010年9月15 日实验成绩:实验一 Web编程环境 一、实验目的 1.搭建Web编程环境,能正确安装配置java运行环境、WEB服务器和数据库服务器 2.熟悉WEB编程集成环境MYEclipse. 3.熟练掌握WEB工程的创建、发布、运行流程。 二、实验内容 1.安装并配置java运行环境JDK和JRE 2.安装Web服务器tomcat, 配置Tomcat服务器 3.安装并配置数据库MySQL. 4.安装MyEclispe,熟悉各项菜单项 5.为MyEclispe集成配置JDK和Tomcat 6.创建、发布、运行一个WEB工程。 三、实验仪器及耗材 计算机,JDK,TOMCAT, MySQL, MyEclipse等软件。 四、实验步骤 1、安装并配置JDK和JRE 2、设置好classpath和path路径 3、安装Tomcat5.5 4、设置Tomcat的配置属性 5、安装并配置MySQL数据库 6、安装MySqL Administrator工具 7、安装MyEclipse 8、新建并配置一个工程,运行发布一个新的工程。 五、实验结果 1、JDK、JRE安装结果:

WEB编程实验报告---南昌大学

实验报告 实验课程:JA V A WEB编程技术 学生姓名: 学号: 专业班级:物流101班 2013年 06 月 12 日 目录

实验一WEB编程环境......................... 错误!未定义书签。实验二HTML和CSS编程技术 (7) 实验三JA V ASCRIPT编程技术 (10) 实验四SERVLET编程技术 (13) 实验五JSP编程技术 (16) 实验六JA V ABEAN编程技术 (21) 实验七基于MVC模式构建系统 (25) 南昌大学实验报告 学生姓名:学号:专业班级:物流101班

实验类型:□验证□综合■设计□创新实验日期:实验成绩: 一、实验项目一Web编程环境 二、实验目的 第1章搭建Web编程环境,能正确安装配置java运行环境、WEB服务器和数据库服务器 第2章熟悉WEB编程集成环境MYEclipse. 第3章熟练掌握WEB工程的创建、发布、运行流程。 三、实验内容 1.安装并配置java运行环境JDK和JRE 2.安装Web服务器tomcat, 配置Tomcat服务器 3.安装并配置数据库MySQL. 4.安装MyEclispe,熟悉各项菜单项 5.为MyEclispe集成配置JDK和Tomcat 6.创建、发布、运行一个WEB工程。 四、实验仪器及耗材 计算机,JDK,TOMCA T, MySQL, MyEclipse等软件。 五、实验步骤 1.先安装jdk1.6,选择自定义安装,安装到C:\JDK 2.配置环境变量,class:.;C:\JDK\bin , classpath:.;C:\JDK\lib ,java_home: C:\JDK 安装tomcat,安装在C:\ Tomcat 下,配置tomcat_home环境变量,CATALINA_HOME: C: \Tomcat,CATALINA_BASE: C: \Tomcat,TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar 追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\c ommon\lib\servlet.jar;

第一次 Java 实验报告

Java实验报告 班号学号姓名 实验地点完成日期年月日 实验一Java编程环境使用 一、实验任务和要求 掌握Java运行环境的配置 掌握Java程序的编写、编译、运行等过程 熟悉Java语言的基本语法和运行原理 掌握Java的基本数据类型、表达式和程序控制结构 熟悉Eclipse开发环境的基本使用方法 二、原理分析和程序设计 实验内容: 1、在控制台下求两个实数的最大值(CompareTwoNumbers.java) 要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。请按照代码提示编写完整程序,并查看结果。 代码提示: import java.util.Scanner; //导入Scanner对象; Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; 相应代码: import java.util.Scanner; //导入Scanner对象; public class CompareTwoNumbers { public static void main(String[] args){ Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; System.out.print("请输入第一个数:"); double number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; System.out.print("请输入第二个数:"); double number2 = scanner.nextDouble(); double c=number1>number2?number1:number2; System.out.print("最大的数为:"+c); } } 猜数字游戏(GuessNumber.java)

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.wendangku.net/doc/c112738947.html,/j2se,根据提示

南昌大学《编译原理》实验报告(用Java编写)

实验报告 学院:信息工程学院系计算机系 专业班级:计算机科学与技术 学生姓名:学号: 任课教师:

目录 实验1 词法分析程序的设计 (3) 实验2 语法分析程序的设计 (9) 实验3 逆波兰式的翻译和计算 (17)

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合■设计□创新实验日期:实验成绩: 实验1 词法分析程序的设计 一、实验项目名称 词法分析程序的设计 二、实验目的 掌握计算机语言的词法分析程序的开发方法。 三、实验基本原理 编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。 1、根据以下的正规式,编制正规文法,画出状态图; 标识符<字母>(<字母>|<数字字符>)* 十进制整数0 | ((1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*) 八进制整数0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 运算符和界符+ - * / > < = ( ) ; 关键字if then else while do 2、根据状态图,设计词法分析函数int scan( ),完成以下功能: 1)从文本文件中读入测试源代码,根据状态转换图,分析出一个单词, 2)以二元式形式输出单词<单词种类,单词属性> 其中单词种类用整数表示: 0:标识符 1:十进制整数 2:八进制整数 3:十六进制整数 运算符和界符,关键字采用一字一符,不编码 其中单词属性表示如下: 标识符,整数由于采用一类一符,属性用单词表示 运算符和界符,关键字采用一字一符,属性为空 3、编写测试程序,反复调用函数scan( ),输出单词种别和属性。

南昌大学化学实验报告

南昌大学化学实验报告 篇一:南昌大学实验报告 南昌大学实验报告 学号:6100512094 专业班级:信息管理与信息系统122班 实验类型:□验证□综合□设计□创新实验日期:XX/4/3 实验成绩: 实验一实验环境的建立 一、实验目的: 1.了解SQL Server XX常用版本和对操作系统的不同要求 2.熟悉SQL Server XX的基本性能 3.正确安装和配置SQL Server XX 二、实验基本原理 SQL即结构化查询语言,是关系数据库的标准语言,SQL 是一个综合的、功能极强同时又简洁易学的语言。它集数据查询、数据操纵、数据定义和数据控制功能于一体。自SQL 成为国际标准语言之后,各个数据库厂家纷纷推出各自的SQL软件或与SQL的接口软件。这就使大多数 数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。

三、主要仪器设备及耗材 相互连成LAN的计算机2台以上,windows XX server 操作系统,SQL Server XX安装标准版安装软件。 四、实验步骤 安SQL Server XX:将安装光盘放入CD-ROM,将自动弹出“SQL Server自动菜单”界面,如果没有自动弹出则选择光盘根目录下的autorun.exe,双击运行: 选择运行“安装SQL Server XX组件”进入安装组件界面,选择“安装数据库服务器”。进入安装界面后,按照安装提示进行安装;一般需要人工进行干预的有: 选择安装类型和安装路径:安装类型有:典型安装、最小安装、和自定义安装。安装路径是指SQL Server的系统文件和数据文件的安装位置。默认情况下“安装类型”是典型安装,“安装路径”是操作系统设定的“Program Files”文件夹。你可以自行改变,初次安装最好不要改变他,按默认情况使用; 配置启动服务的帐号:有两类用户帐号:一类是与Windows操作系统的集成帐号,一类是混合帐号。选择第一类帐号进行安装;配置服务器端网络库:SQL Server支持多种网络库,这些网络库必须与操作系统的网络协议共同工作,才能实现客户机与数据库服务器的通信。安装完成后,可以通过操作系统的开始菜单操作:“开始”―>SQL Server”->

java第一次报告

学生实验报告 (2009—2010学年第一学期) 课程名称:基于Java的Web应用设计开课实验室:2301 2009年 10月 30 日

一、实验目的及内容 目的:掌握和巩固Java基础知识 内容: 1.Java语言开发流程 2.编写一个程序,该程序实现以下功能:把自己的学号看作是一个整数n,计算并在 屏幕上输出该整数各位相加的结果。例如:学号为12345的同学应计算并输出结果 15。 二、要求 1.描述Windows下JDK环境变量的设置。 2.描述上述程序的设计、实现和结果,并对结果进行分析;设计和实现时要求上述功 能放到main函数之外的其他函数中实现。 3.以上面程序为例完整叙述(1)在命令行方式下Java语言的开发流程;(2)在NetBeans 集成开发环境中的开发流程。 三、实验步骤 1、环境变量设置: 右键点击“我的电脑”,选择“属性”,在“高级”选项里进入“环境变量”的设置如下: 2、path变量的设置:path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到哪些目录下去寻找。本次实验中设置为java安装时bin的绝对路径如下:

4、新建项目如下: 5、设置项目名称及运行路径如下

6、程序设计如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jing; import java.io.*; /** * * @author ycx */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here InputNum inp=new InputNum(); CountStuNum coun=new CountStuNum(); try{ long getNum=inp.InputNum(); coun.CountStuNum(getNum); }catch(IOException e){

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

java实训总结

实习报告 学生姓名:陈育伟 学号:20096361 专业班级:信息与计算科学1班 实习单位:高博教育 实习时间:2012-7-1——2012-7-14 2012年 7 月 14 日

一、实习目的 通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse 开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。 二、实习主要流程 1、公司管理规则,程序员素质,程序员编码规范; 2、需求开发与管理; 3、面向对象分析与设计,面向对象编程的特性; 4、javaSE、javaWeb 、页面设计-JSP页面; 5、数据库设计、SQL应用; 6、软件需求分析与设计; 7、项目实战 三、实习内容 Oracle数据库 数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。 Oracle服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了Oracle服务器和其他数据库管理器的比较结

南昌大学《MATLAB与控制系统仿真》实验报告综述

实验报告 实验课程: MATLAB与控制系统仿真 姓名: 学号: 专业班级: 2016年 6月

目录实验一 MATLAB的环境与基本运算(一) 实验二 MATLAB的环境与基本运算(二) 实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB的环境与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表2 MA TLAB算术运算符 表4 MATLAB逻辑运算符

表5 MATLAB特殊运算 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四、实验内容 1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3.学习使用help命令。 4.窗口命令 ● close ● close all ● clc ● hold on ● hold off 了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。5.工作空间管理命令 ● who ● whos ● clear 6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

南昌大学JAVA期末复习题及答案

一、填空题 1.对象之间可能存在的关系有三种:_包含_、_继承__和_关联_。2.面向对象的软件开发过程大体可分为 __面对对象分析、__面对对象设计_和_面对对象测试__三个阶段。 3. Java 语言中实现多态的方法有 __继承__、_方法重载_ 和_成员覆盖__。 4. Java 语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台_特点。 5. JAVA语言规定object类是JAVA 程序中所有类的父类,当前类的构造方法用this()表示,直接父类的构造方法用super()表示。 6.如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet 必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。 7.如果一个Java Applet 程序文件中定义有3 个类,则使用Sun 公司的JDK 编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。 8.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。 10. Applet 是能够嵌入到HTML格式的文件中,并能够在浏览器中运行的Java。

11.在Java 中,线程的模型就是一个CPU、程序代码和数据的封装体。 12.键盘键入字符串并在计算机屏幕上显示,这时的数据源是键盘。13. JAVA语言是第一个语言本身就支持线程的编程语言,其对线程的支持主要通过 https://www.wendangku.net/doc/c112738947.html,ng.Thread类和https://www.wendangku.net/doc/c112738947.html,ng.Runnable接口来实现。14.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。 int s = 0 ; for ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s ); 15. JVM 是Java Virtual Machine的缩写; AWT 是abstrac window toolkit的缩写。 16.单重继承是指只有一个父类的继承;多重继承是指有一个以上父类的继承;Java 语言出于安全、可靠的考虑,仅支持单重继承;但Java 语言可通过接口来实现多重继承。 17. Java 中构成图形用户界面的元素和成分可分为 _容器_、_控制组件_和___用户自定义________________等三类。 18.一个线程的完整生命周期包括如下 5 种状态 _新生_、__就绪_、_运行_、_阻塞_和_死亡_。

初识Java 实验报告

太原师范学院 实验报告 Experimentation Report of Taiyuan teachers College 系部计算机系年级课程Ja va实用教程 姓名同组者无日期2012.2.28 项目初识Java 实验①:一个简单的应用程序 1、实验目的: 掌握Java应用程序的3个步骤:编写原文件、变异原文件和运用应用程序。 2、实验要求: 编写一个简单的Java应用程序,该程序在命令窗口输出两行文字:“Hello Java” 和“We are students”。 3、实验代码: public class hello { public static void main (String args[]) { System.out.println("Hello Java"); A a=new A(); a.fA(); } } class A

{ void fA() { System.out.println("We are students"); } } 4、实验后的练习: ①编译器怎样提示丢失大括号的错误? Hello.java :18:进行语法解析时已到达文件结尾 }→ ^ ②编译器怎样提示语句丢失分号的错误? Hello.java :7:需要‘;’ System.out.println(“Hello Java”) ^ ③编译器怎样提示将System写成system这一错误? Hello.java :7:软件包system不存在 System.out.println(“Hello Java”); ^ ④编译器怎样提示将String写成string这一错误? Hello.java :5:找不到符号 符号:类string 位置:类hello Public static void main(string args[]) ^ 实验②:画出一个正弦函数的波形图 实验目的:掌握开发Java sin Applet程序的3个步骤:编写源文件、编译源文件和运行Java sin Applet程序 实验要求:编写一个简单的Java sin Applet程序,打印出正弦函数的图形。 实验代码: import java.applet.*; import java.awt.*; import java.awt.Color; public class sin extends Applet{ public void paint(Graphics g){ int x=0; int y=0; int i=0; for(i=0;i<360;i++) { x=(int)((i*Math.PI/180)*100); y=(int)(Math.sin((i*Math.PI)/180)*100)+200; g.drawString("*",x,y);

南昌大学JavaWeb实验报告

实验一Java Web开发环境配置 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期: 2018.04.11 实验成绩:一、实验目的 1.掌握设置JDK环境。 2.掌握设置Tomcat环境。 3.安装、掌握Eclipse,MyEclipse 或IntellijIDEA软件,为学习 JSP和进行 JSP的实验做好准备工作。 4.编写JSP 程序并运行JSP页面。 二、实验要求 1.安装并设置 Java SDK 软件包。 2.安装并设置Tomcat软件包。 3.安装并设置 Eclipse软件、MyEclipse或IntellijIDEA软件。 4.编写一个简单的JSP,并在浏览器中浏览。 5.创建一个Web项目,并进行部署运行。 三、实验步骤 (一) JDK安装与配置 (二) Tomcat安装与配置 (三) IDE(Eclipse、MyEclipse、或IntelliJ IDEA)的安装与配置 (四)在IDE中建立一个jsp (五)部署JSP工程文件 (六)启动Tomcat服务器 (七)浏览JSP 四、实验数据 (一)JDK安装与配置 首先去oracle官方网站下载jdk的压缩包,根据自己的系统类型选择合适的版本即可.我的系统是Linux,于是选择Linux x64版本的下载即可.

下载后,将压缩包解压,下面是我解压的路径,以及压缩包中的内容 然后就是进行环境变量的配置,将jdk关键组件添加到环境变量.我使用的是zsh,在/home/.zshrc配置文件中添加下面三行即可: 验证是否安装成功: (二)Tomcat安装与配置 首先去apache的官网下载适合自己系统的tomcat版本,进行解压即可. 在bin目录下有一些可执行脚本,运行startup.sh,就可以成功开启tomcat服务器.

南昌大学实验报告

南昌大学实验报告 学生姓名:学号:专业班级:_____________ 实验类型:■验证□综合□设计□创新实验日期: 2012-12 实验成绩:______ 实验三三容水箱的专家控制实验 一、实验目的 ①掌握三容水箱的基本构成,能够熟练地运用专家PID控制原理,来实现 对三容水箱的液位控制。 ②进一步掌握专家控制原理,清楚了解PID控制的过程和相应的matlab程 序实现方法。 ③了解matlab中关于的相关绘图函数的使用方法,懂得有关向量的定义及 循环操作,熟练掌握MATLAB的编程语句。 二、实验设备及条件 微型计算机,且此计算机必须装有matlab软件。 三、实验原理 专家系统是一类包含知识和推理的智能计算机程序,其内部包含某领域专 家水平的知识和经验,具有解决专门问题的能力。 直接型专家控制器用于取代常规控制器,直接控制生产过程或被控对象。 具有模拟(或延伸、拓展)操作工人智能的功能。该控制器的任务和功能相对 比较简单,但需要在线、实时控制。因此,其知识表达和知识库也比较简单, 通常由几十条产生式规则构成,以便于增删和修改。直接型专家控制器的结构 如a图中的虚线所示。 专家PID控制的实质是:基于受控对象和控制规律的各种知识,无需知道 被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直 接型专家控制器。 本实验的专家控制器输入为h3的设定值,而输出为阀门开度kk,根据实 验的要求设计专家PID控制器的基本原理框图如下图所示Array 图(a)

三容水箱结构框图如下 四、实验要求 通过专家PID 控制,随着下水箱流量q4的正弦变化,要求能够通过调节阀门开度kk 来使第三个水箱中的下水箱液位h3稳定在设定值,并且其他两水箱水不会流尽和溢出。 五、 实验设计过程及结果 1、 三容水箱数学模型 可应用实验一建立的三容水箱数学模型 3 33433| 0.45)+i *pi *(2.58sin |*343222 321112kk *1q 21h h h s q q h y q s q q h h y q s q q h h y q a ?+=-=?=-=?=-=?==

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

JSP技术的运用实验报告

南昌大学实验报告 学生姓名:XXX 学号:xxxxxxxxxx 专业班级:xxxxxxx 实验类型:■验证□综合□设计□创新实验日期:xxxx.xx.xx 实验成绩: 一、实验项目名称: JSP技术的运用 二、实验目的 掌握JSP的基本语法、JSP指令和JSP动作以及JSP的内置对象,每种对象的使用方法与使用技巧,会简单的web应用程序的开发设计。 三、主要仪器设备及耗材 1.Myeclipse开发环境 2.Tomcat服务器 3.联想电脑一台 四、实验内容 1、运用Date函数读取系统当前时间,根据不同的时间段,在浏览器输出不同的问 候语 2、加载文件,制作一个jsp文件,计算一个数的平方,然后再制作一个jsp文件。 在客户端显示出来 3、设计表单。制作读者选购图书的界面,当读者选中一本图书后,单击“确定” 按钮,用”jsp:forward page=”语句将页面跳转到介绍该图书信息页面 4、设计求任意两个整数和的web程序,要求用户通过提交页面输入两整书,并提 交给一个jsp程序,再改程序中计算两个整数和。如果结果为正,跳出“结果为正” 页面,如果结果为负,跳出“结果为负”界面 5、设计一个用户注册表单,提交页面信息后,会输出用户填写的信息 五、实验步骤 1.应用Date函数读取系统当前时间,根据不同的时间段输出不同的问候,主要代码 如下: <%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> 读取系统当前时间 <% Date date=new Date();%>

当前时间是:<%= date.toLocaleString()%>

最新南昌大学实验报告-声速测量

声速测量(实验报告格式)课程名称:大学物理实验 实验名称:声速测量 学院:专业班级: 学生姓名:学号: 实验地点:104 座位号: 实验时间:第周星期一下午16点开始 一、 二、实验项目名称:声速测量 三、实验目的: 1、学会测量超声波在空气中的传播速度方法。 2、

3、理解驻波和振动合成理论。 4、学会逐差法进行数据处理。 5、了解压电换能器的功能和培养综合使用仪器的能力。 四、 五、 实验原理: 根据声速、声波频率、波长间的关系:λf v =,测得声波的频率和波长,就可求的声速。声波频率由信号发生器产生,可直接显示,故只需测得声波波长即可。有驻波法和相位法。 1、驻波法 实验时将信号发生器输出的正弦电压信号接到发射超声换能器上,超声发射换能器通过电声转换,将电压信号变为超声波,以超声波形式发射出去。接收换能器通过声电转换,将声波信号变为电压信号后,送入示波器观察。设沿x 方向射出的入射波方称为:)2cos(1x wt A y λ π -=,反射方程: )2cos(2x wt A y λπ+=,A 为声源振幅,w 为角频率,x λ π2为由于波动传播到坐标x 处引起的相位变化。所以合振动方程:

y=y1+y2=wt x A cos )2cos 2(λπ ;在声驻波中,波腹处声压(空气中 由于声扰动而引起的超出静态大气压强的那部分压强)最小,而波节处声压最大。当接收换能器的反射界面处为波节时,声压效应最大,经接收器转换成电信号后从示波器上观察到的电压信号幅值也是极大值,所以可从接收换能器端面声压的变化来判断超声波驻波是否形成。移动卡尺游标,改变两只换能器端面的距离,在一系列特定的距离上,媒质中将出现稳定的驻波共振现象,此时,两换能器间的距离等于半波长的整数倍,只要我们监测接收换能器输出电压幅度的变化,记录下相邻两次出现最大电压数值时(即接收器位于波节处)卡尺的读数(两读数之差的绝对值等于半波长),则根据公式:就可算出超声波在空气中的传播速度,其中超声波的频率可由信号发生器直接读得。 2、相位法 波是振动状态的传播,也可以说是位相的传播。在声波传播方向上,所有质点的振动位相逐一落后,各点的振动位相又随时间变化。声波波源和接收点存在着位相差,而这位相差则可以通过比较接收换能器输出的电信号与发射换能器输入的正弦交变电压信号的位相关系中得出,并可利用示波器的李萨如图形来观察。相差和角频率、传播时间t 之间有如下关系: 同时有,,,(式

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:");

相关文档