当前位置:文档之家› java实验项目单(每单元2学时)2

java实验项目单(每单元2学时)2

java实验项目单(每单元2学时)2
java实验项目单(每单元2学时)2

河北经贸大学

Java网络编程

实验报告书

院系:___________________

专业:___________________

班级:___________________

姓名:___________________

信息技术学院软件教研室编制

2005.9

实验前的准备工作

?实训设备与环境

?个人计算机(奔腾586档以上),windows98/xp/2000操作系统,J2SDK1.5.0以上编译开发环境,NetBeans6.0集成开发环境。

?安装J2SE SDK 后,请检查其是否安装正确

?确保安装过程已将%JAVA_HOME% (Windows) 或$JAVA_HOME (Solaris/Linux) 环境变量设置到J2SE 1.5.0_06(或更高版本)的安装目录中。

?在终端窗口中键入―echo %JAVA_HOME%‖(Windows) 或―echo

$JAVA_HOME‖(Solaris/Linux)。将显示以下内容:

?C:\Program Files\Java\jdk1.5.0_06 (Windows)

?/usr/jdk/jdk1.5.0_06 (Solaris/Linux)

?注:根据JDK实际安装路径显示可能有所不同

?疑难解答:如果没有看到上述%JAVA_HOME% 或$JAVA_HOME 环境变量的值,而是看到了以下内容,则表示没有设置环境变量。(此外,在Windows 下,必

须打开新终端窗口才能查看更改,现有终端窗口不显示更改)请按照操作系统的适当

说明设置环境变量;如果在运行Windows 并已通过控制面板设置了环境变量,则打

开新终端窗口并尝试执行该操作。

?%JAVA_HOME%

?确保安装过程已将%JAVA_HOME%\bin (Windows) 或$JAVA_HOME/bin (Solaris/Linux) 置于―path‖环境变量中。

?设置环境变量后,在终端窗口中键入―java -version‖。(这里说的终端窗口指的是Windows 平台的DOS 窗口)将应显示以下内容

?java version "1.6.0_06"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0_06-b05)

Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) ?疑难解答:如果未看到上述内容,则路径中不存在%JAVA_HOME%\bin。可以按照以下说明设置PATH 环境变量(在Windows 下)

?右键单击“我的电脑”,选择属性,然后转到“高级”选项卡。

?在该选项卡中,单击位于窗口底部的“环境变量”。注意“系统变量”部分并查

找“Path”变量。

?选中它并单击编辑,并将java bin 目录(“%JAVA_HOME%\bin”)追加到

该路径。然后单击“确定”。

?必须打开新终端窗口此路径才生效。

?创建文件夹mkdir D:\myjavaprograms(此为您要将Java 程序写入的文件夹)cd \myjavaprograms(此目录将成为当前文件夹),每个实验的java文件存放在当前目录下的exxx 目录下,xx为实验编号。

河北经贸大学信息技术学院

实训(验)项目单

Training Item

编制部门:软件教研室编制人:李福亮审核人: 编制日期:2005年3月1日

实验一实训指导

(一)基础训练

1.编写并运行Java Application程序,实现在屏幕输出“A simple java Application Program”,进行编译、执行(文件名“Hello.java”)

(1)使用记事本或其它文本编辑器编写如下程序

public class Hello {

public static void main( String[] args ){

// Print the string " A simple java Application Program " on screen

System.out.println("A simple java Application Program ");

}

}

(2)使用javac 编译器编译Hello.java,编译的结果将创建Hello.class 文件。

疑难解答 1.1.a:如果遇到以下错误条件,则表示没有在路径中设置用于 Windows 平台的 %JAVA_HOME%\bin 如果您希望不设置路径而继续进行,则可试用 C:\Program Files\Java\jdk1.5.0_06\bin\javac Hello.java (用于 Windows)。

?D:\myjavaprograms\ex1>javac Hello.java

'javac' is not recognized as an internal or external command,

operable program or batch file.

疑难解答 3.1.b:如果 Hello.java 程序包含问题,如打字错误或在每个语句后丢失分号,则会遇到类似于以下示例编辑错误的编译错误(我错误地拼写了它 - 它本来应该是 System.out.println("Hello world"); 而不是 Syste.out.println("Hello world");。

?D:\myjavaprograms\ex1>javac Hello.java

Hello.java:9: package Syste does not exist

Syste.out.println("Hello world");

^

1 error

疑难解答3.1.c:如果将文件命名为 hello.java(而不是 Hello.java),则会遇到以下问题。这是因为文件名称 hello.java 与代码中的类名称不匹配。在代码中,在“public class Hello”语句中使用 Hello ,而将文件命名为 hello.java。它们必须相匹配。Java 是区分大小写的。只要涉及 Java,hello.java 和Hello.java 就是不同的文件。因此需要将该文件重命名为 Hello.java 并再次进行编译。

?D:\myjavaprograms\ex1>javac hello.javahello.java:1: class Hello is public, should be declared in a file named Hello.java

public class Hello {

^

1 error

(3)运行javac 时,试用“javac -verbose Hello.java” 以查看将发生什么事。至此,您其实已经不必了解往下要发生什么事了,唯一需要关注的是它是否读取Hello.java 文件,然后是否最终创建Hello.class。

?C:\myjavaprograms>javac -verbose Hello.java

[parsing started Hello.java]

[parsing completed 31ms]

[search path for source files: [C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip]]

[search path for class files: [C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar,C:\Program

C:\Program Files\Java\jdk1.5.0_06\jre\lib\charsets.jar, C:\Program

Files\Java\jdk1.5.0_06\jre\lib\ext\dnsns.jar, C:\Program

Files\Java\jdk1.5.0_06\jre\lib\ext\localedata.jar, C:\Program

Files\Java\jdk1.5.0_06\jre\lib\ext\sunjce_provider.jar, C:\Program

Files\Java\jdk1.5.0_06\jre\lib\ext\sunpkcs11.jar, C:\Program

Files\Java\jre1.5.0_05\lib\ext\QTJava.zip]]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/lang/Object.class)]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/lang/String.class)]

[checking Hello]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/lang/System.class)]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/io/PrintStream.class)]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/io/FilterOutputStream.class)]

[loading C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/io/OutputStream.class)]

[wrote Hello.class]

[total 266ms]

(4)使用javac 编译器编译Java 代码时,请试用“javac -help”以查看可以指定哪些选项。您不必马上了解所有选项,重要的选项是“-classpath ”、“-cp ”、“-sourcepath ”、“-d ”。请仔细斟酌这些选项。在这四个选项中,理解“-classpath ”、“-cp ”尤为重要。此外,“-classpath ”和“-cp ”是相同的。

D:\myjavaprograms\ex2>javac –help

确保已创建Hello.class 文件。Hello.class 文件包含Hello 类的字节码表示形式。

?dir Hello.class

(5)使用java 命令运行Hello 程序。java 命令启动Java 虚拟机并在本例中运行Hello 程序。Java 程序可由多个Java 类和一组库组成。在本例中,Hello 程序仅包含名为Hello.class 的单个类。可将java 命令视为Java 解释程序。

?java Hello

您应该看到以下两种结果之一。

?D:\myjavaprograms\ex1>java Hello

Hello world

?D:\myjavaprograms\ex1>java Hello

Exception in thread "main" https://www.doczj.com/doc/1511764491.html,ng.NoClassDefFoundError: Hello

疑难解答 3.1.g:如果遇到上述“Exception in thread "main" https://www.doczj.com/doc/1511764491.html,ng.NoClassDefFoundError:Hello”异常,则很可能您使用了预定义的或错误的(至少对于运行此程序是错误的)CLASSPATH 环境变量。您可以按照以下方式查找是否设置了 CLASSPATH 环境变量 - 在下面的示例中,将 CLASSPATH 设置为 C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip。(可以在命令行键入jar tvf "C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip" 以查看该压缩文件由什么 Java 类构成。)

?D:\myjavaprograms\ex1>set CLASSPATH

CLASSPATH=C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip

“Exception in thread "main" https://www.doczj.com/doc/1511764491.html,ng.NoClassDefFoundError:Hello”意味着 Java 解释程序 java 在类路径中找不到 Hello.class 文件。(请注意,此为开始学习使用命令行工具(如 javac 和 java)的 Java 编程时会遇到的最常见的错误条件。NetBeans IDE 将处理所有这种错误。)

解决该问题的一种方式是按照以下所述立即取消设置 CLASSPATH 环境变量并再次运行 Hello 程序,如下所示。(在此例中,类路径是包含 Hello.class 文件的当前目录。我将解释 Java 解释程序如何很快找到要使用的类路径。)

?D:\myjavaprograms\ex1>java Hello

Exception in thread "main" https://www.doczj.com/doc/1511764491.html,ng.NoClassDefFoundError: Hello

?D:\myjavaprograms\ex1>set CLASSPATH=

?D:\myjavaprograms\ex1>set CLASSPATH

Environment variable CLASSPATH not defined

?D:\myjavaprograms\ex1>java Hello

Hello world

(6)还可以通过使用-classpath 和-cp 选项显式指定类路径。调用“java -classpath .Hello”和“java -cp .Hello”,如下所示。(在-classpath 和Hello 及-cp 和Hello 之间都有一个点.。)它应该按以下方式运行。您实际上指定了当前目录(由点. 表示)为要使用的类路径。

?D:\myjavaprograms\ex1>java -classpath . Hello

Hello world

?D:\myjavaprograms\ex1>java -cp . Hello

Hello world

(7)尝试使用完整目录路径C:\myjavaprograms,同样应该正常运行。

?D:\myjavaprograms\ex1>java -classpath C:\myjavaprograms Hello

Hello world

?D:\myjavaprograms\ex1>java -cp C:\myjavaprograms Hello

Hello world

重要事项:“-classpath ”或“-cp ”选项指定类文件(在本例中,我们仅有单个类文件,名为Hello.class)驻留的位置。不指定类路径选项时,Java 解释程序将试图在 CLASSPATH 环境变量指定的目录或当前目录中查找类文件。实际上,Java 解释程序将试图按以下顺序查找类文件。

在使用-classpath 或-cp 选项指定的目录中。

在CLASSPATH 环境变量(如果没有指定-classpath 或-cp 选项)中指定的目录中

在当前目录中(如果没有指定-classpath 或-cp 选项并且没有设置环境变量CLASSPATH)

2.编写含有多个类定义的java应用程序,文件名为Hello1.java,编译和运行Hello1 程序,使其打印以下内容。查看起生成字节码的文件。参考代码如下

(1)使用记事本或其它文本编辑器编写如下程序(文件名为Hello1.java)

import java.io.*;

public class Hello1 {

public static void main( String[] args ){

// Print the string " A simple java Application Program " on screen

System.out.println("This is my first Java program ");

System.out.println(new User().getUserMessage());

}

}

class User{

String str=‖ This is User Message!‖;

public String getUserMessage(){

return str;

}

}

(2)使用javac 编译器编译Hello1.java,编译的结果将创建Hello.class 文件和User.class文件

D:\myjavaprograms\ex1>javac Hello.java

执行后用dir命令显示当前文件夹生成的类文件。

D:\myjavaprograms\ex1>dir *.class

(3) 执行Hello1程序,观察运行结果,分析起执行过程

java Hello1

3.编写java应用程序,文件名为CommandLineSample.java,从命令行接受参数。

(1)编写程序,参考代码如下:

public class CommandLineSample

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

//checks if a command line argument exists

if(args.length == 0)

System.exit(0);

//for loop that prints the arguments from the command line

for(int counter = 0; counter < args.length; counter++){

System.out.println(args[counter]);

}

}

}

(2)编译程序

D:\myjavaprograms\ex1>javac CommandLineSample.java

(3) 运行程序

D:\myjavaprograms\ex1>java CommandLineSample 1 2 3 4 5

(4)写出运行结果

4. 构建一个简单的交互式Java 应用程序,该应用程序要求用户通过键盘输入数据。借助帮助文档JavaDoc Online使用BufferedReader 和InputStreamReader 类接收输入数据。文件名GetInputFromKeyboard.java。执行步骤:

(1). 按照以下参考代码编写程序,文件名为GetInputFromKeyboard.java。

// Import the classes you need in this program

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

public class GetInputFromKeyboard {

public static void main( String[] args ){

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

String name = "";

System.out.println("Please Enter Your Name:");

try{

name = dataIn.readLine(); //从键盘读入一串字符,需要进行异常处理(参考帮助文档)}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hello " + name +"!");

}

(2). 编译和运行程序。

?javac GetInputFromKeyboard.java

?java -classpath . GetInputFromKeyboard

您应该具有以下交互。在本例中,我键入Sang Shin。

?D:\myjavaprograms\ex1>java -classpath . GetInputFromKeyboard

Please Enter Your Name:Sang Shin

Hello Sang Shin!

5.修改练习1.4程序,以读取年龄,实现姓名和年龄的输入和显示。

(1) 修改程序,写出完整代码,需要添加的代码片段以如下。

String age= "";

System.out.println("Please Enter Your Age:");

try{

age = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hello " + name +"!" + " " + "Your age is " + age);

}

} .

(2)编译和运行代码。

?javac GetInputFromKeyboard.java

?java -classpath . GetInputFromKeyboard

(3)您应该具有以下交互。

D:\myjavaprograms\ex1>java -classpath . GetInputFromKeyboard

Please Enter Your Name:Sang Shin

Hello Sang Shin!

Please Enter Your Age:99

Hello Sang Shin! Your age is 99

6.编写并运行Java Applet程序,实现在HTML中输出“A simple java Appet!”。

(1)使用文本编辑器编写一个简单的Applet程序,文件名为FirstApplet.java。参考代码如下: import java.applet.*;

import java.awt.*;

public class FirstApplet extends Applet

{

public void paint(Graphic g){

g.setColor(Color.blue);

g.drawString(“欢迎来到java世界”,12,30);

g.setColor(Color.red);

g.drawString(“认真学习java语言”,22,60);

}

实验提示:一个java Applet源文件由若干个类组成,不再需要main方法,但有且只有一个类扩展了Applet 类。

(2)打开命令行窗口,进入到D盘的myprogrames/ex1>目录

执行:javac FirstApplet.java

(3) 编写HTML文件,名为FirstApplet.html,参考代码如下:

FirstApplet

实验提示:Applet程序是由浏览器解释执行的,因此,必须将其嵌入到HTML文件中。

(4) 通过浏览打开HTML文件,可看到运行结果

(5) 通过JDK的appletviewer可运行FistApplet程序

appletViewer FirstApplet.html

河北经贸大学信息技术学院

实训(验)项目单

Training Item

编制部门:软件教研室编制人:李福亮审核人: 编制日期:2005年3月1日

实验二实训指导

(一)基础训练

1.使用NetBeans IDE 构建项目1 中的Hello.java应用程序

(1)启动NetBeans IDE。Windows:开始> 所有程序> NetBeans > NetBeans IDE 6.0 或者单击NetBeans IDE 桌面图标

(2)创建新的NetBeans 项目和Hello 主类。主类,指的是包含main(..)方法的类。

?从菜单栏选择File 并选择New Project。

?在Choose Project窗格下,选择Categories:下的General 和Projects: 下的Java Application

?单击Next。

?在Name and Location 窗格下,(如下面的图3.2-b 所示)

?在Project Name字段中,填充Hello。

?对于Create Main Class字段,将其更改为hello.Hello(从hello.Main进行更改)。

hello.Hello的hello 部分是包名称,hello.Hello 的Hello 部分是类名称。在本例中,

Hello 类隶属于hello 包。我们将在稍后学习package的概念,但是目前将package

视为Java 类的容器即可。

?单击Finish。

注意,在源编辑器中将显示 IDE 生成的

Hello.java代码。同时在hello 目录下生成

Hello.java源代码。在 Java 编程环境下,包结

构与目录结构相匹配。(稍后我们将学习更多内容。

(3)修改IDE 生成的Hello.java

?使用项目1.1 的代码替换源编辑

器中IDE 生成的Hello.java 代

码的Hello 类的代码,同时在文件

顶部保留package 语句。

(4)运行Hello 程序

?右键单击Hello项目节点并从上

图3-2b

下文菜单中选择Run Project。

?注意,Output窗口显示结果

?2.3.

2.使用条件运算符编写Java 程序。

(1)使用NetBeans编写ConditionalOperator.java。

public class ConditionalOperator {

public static void main( String[] args ){

String status = "";

int grade = 80;

status = (grade >= 60)?"Passed":"Fail";

System.out.println( status );

}

}

(2)编译和运行代码,检验结果是否如下所示

?Passed

?int salary = 100000;

如果薪水高于50000,则打印"You are rich!";否则打印"You are poor!"。

3.在NetBeans中修改并运行项目1的1.5程序GetInputFromKeyboard.java,现在假定您希望将以下逻辑添加到程序。

?如果输入的年龄超过100,则显示

?Hello ! You are old!

?否则

Hello ! You are young!

(1)使用NetBeans新建一个项目,名为GetInputFromKeyboard,创建主类GetInputFromKeyboard,在编辑区输入以下代码。

// Import the classes you need in this program

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

public class GetInputFromKeyboard {

public static void main( String[] args ){

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String name = "";

System.out.println("Please Enter Your Name:");

try{

name = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hello " + name +"!");

String age= "";

System.out.println("Please Enter Your Age:");

try{

age = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hello " + name +"!" + " " + "Your age is " + age);

// Convert the String type of age variable into int primitive type variable ageint.

int ageint = Integer.parseInt(age);

// Now you can compare the int primitive type against int type value 100

if (ageint > 100){

System.out.println("Hello " + name +"!" + " " + "You are old.");

}

else{

System.out.println("Hello " + name +"!" + " " + "You are young.");

}

}

注意,在以下代码中,程序接收String 类型形式的年龄。您无法将 String 类型的“99”与int 基本类型的 100 进行比较。换句话说,必须将String类型的“99”转换为int 类型的 99,然后才能将其与另一个int类型的 100 相比较。幸好,在Integer 类中有一个名为parseInt()的方法,该方法可用于将String 类型转换为int 类型。尝试从以下J2SE 5.0 Javadoc 网站查看Integer 类的JavaDoc。(必须向下滚动才能看到位于左下框中的Integer 类。)

?https://www.doczj.com/doc/1511764491.html,/j2se/1.6.0/docs/api/

单击Integer 类将在浏览器的右侧显示该类的Javadoc 信息。(如以下Figure 5.1.c 所示)

. 单击parseInt(String s)方法以查看详细信息。(如以下Figure 5.1.e 所示)使用Integer 类的parseInt(String s) 方法,可以将String 类型值转换为int 类型。(另请注意,parseInt(String s)方法为静态static 方法。可以调用静态方法而不创建对象实例。我们稍后再介绍这一点。)

(2)编译运行程序,您应该具有以下交互。

Please Enter Your Name:Sang Shin

Hello Sang Shin!

Please Enter Your Age:10

Hello Sang Shin! Your age is 10

Hello Sang Shin! You are young.

(3)重新运行程序,输入年龄时,输入101,观察运行结果。

(4)现在尝试输入非数字值,如―NotANumber‖字符串。您将遇到以下错误状态。这是预期的结果。(我们还没有学过错误处理- 错误处理有时称为异常处理。即Integer 类的parseInt() 方法在遇到使其无法执行转换的情况时抛出异常(异常就是错误状态)。然后,好的编程实践会捕获此异常并相应地进行处理。您将在下一步执行此项操作。尝试从https://www.doczj.com/doc/1511764491.html,/j2se/1.5.0/docs/api/读取NumberFormatException 的Javadoc。我们稍后还会此操作,您现在不理解也不要紧。)

?C:\myjavaprograms>java -classpath . GetInputFromKeyboard

Please Enter Your Name:Sang Shin

Hello Sang Shin!

Please Enter Your Age:NotANumber

Hello Sang Shin!Your age is NotANumber

Exception in thread "main" https://www.doczj.com/doc/1511764491.html,ng.NumberFormatException: For input string: "NotANumber"

at https://www.doczj.com/doc/1511764491.html,ng.NumberFormatException.forInputString(Unknown Source)

at https://www.doczj.com/doc/1511764491.html,ng.Integer.parseInt(Unknown Source)

at https://www.doczj.com/doc/1511764491.html,ng.Integer.parseInt(Unknown Source)

at GetInputFromKeyboard.main(GetInputFromKeyboard.java:32)

4.使用NetBeans 构建并运行名为CommandLine 的示例Java 程序。可以作为NetBeans 项目构建和运行该示例程序。(使用NetBeans构建项目1中的练习1.3程序。)

(1). 启动NetBeans(如果尚未执行此操作。)

(2). 打开现有CommandLine sample NetBeans 项目。

?从菜单栏选择File。

?选择Open Project (Crtl+SHift+O)。

?在Open Project窗口中,浏览到C:\NetBeansFiles\Chapter 8\8.1目录并选择

CommandLineProject。

?单击Open Project Folder按钮。

?展开CommandLineProject项目节点。

?展开Source Packages。(Source Packages节点包含所有程序包。)

?展开。(如果没有使用package语句创建了Java 代码,则其隶属于默认包。)?双击CommandLine.java以在编辑器窗口打开它。

. 添加命令行参数

?在Project Properties对话框中,

?选择左侧Categories 窗格下面的Run

?在Arguemtns:字段中,键入5 4 3 2 1

?单击OK。

. 运行该程序。

?右键单击CommandLineProject项目节点,然后选择Run Project。

?现在应该在NetBeans 的输出窗口中显示数字5、4、3、2、1。

(3) 修改CommandLine.java代码,使其显示最大数和最小数。

?

(二)拓展训练

5.修改GetInputFromKeyboard.java以读取年龄,添加异常处理代码,解决数据转换中的异常问题

(1)打开项目GetInputFromKeyboard,修改GetInputFromKeyboard.java,需要添加的代码片段以bold 字体突出显示

Code 5.1.g:处理错误状态

(2).编译和运行代码。您应该具有以下交互。

?Please Enter Your Name:IdiotOftheWorld

Hello IdiotOftheWorld!

Please Enter Your Age:NotANumber

Hello IdiotOftheWorld! Your age is NotANumber

Please enter a number!

6. 在NetBeans 中安装J2SE SDK 5.0 的Java 文档压缩文件。安装Java 文档压缩文件后,即可以上下文敏感的方式显示任何类的Java 文档。

(1)从顶层菜单栏选择Tools。

?选择Java Platform Manager。(如以下Figure 5.2.c 所示)

?在Java Platform Manager对话框中,选择Javadoc 选项卡。

?单击Add ZIP/Folder按钮。(如以下Figure 5.2.d 所示)

?选择jdk-1_5_0-doc.zip。(如果已解压缩该压缩文件,则可选择docs下的api 目录。)

?单击Add ZIP/Folder按钮。(如以下Figure 5.2.e 所示)

(2). 以上下文敏感方式显示BufferedReader类的Java 文档。

?将指针移动到―BufferedReader‖字符串的任何位置。

?右键单击并选择Show Javadoc (Alt+F1)或者单击Alt+F1组合键。(如以下Figure 5.2.g 所示)?BufferedReader类的Java 文档将在平台的默认浏览器中显示。(如以下Figure 5.2.h 所示)?读取BufferedReader类的描述。(我不期望您理解关于BufferedReader 类的全部内容。有一个读取类的Java 文档的感觉就行了。)

?另外,您还可以从online version of J2SE SDK Javadoc 看看所有类的Javadoc。

?单击该页上的所有超链接。本练习的另一目标学习读取Javadoc 文档的方式。

作业:

1.按以下方式修改GetInputFromKeyboard.java,并编译和运行代码

?让程序问以下问题:Please enter your mother's age:

?按以下方式显示您的年龄和您母亲的年龄的添加值:

?实现以下逻辑

?如果添加值超过200,则显示:Hello ! You and your mother must be old!

?否则:Hello ! You and your mother must be young!

2. 按以下方式修改CommandLine.java,并编译和运行代码

?计算作为命令行参数输入的5 个数的平均数,如下所示:

?The average number is xx.

3. 尝试或者从online version of J2SE SDK Javadoc或者在NetBeans 中以上下文敏感方式显示String类的Java 文档。学习Java 编程时,String 类是最常使用的类之一。因此,请花点时间浏览各种类方法。

河北经贸大学信息技术学院

实训(验)项目单

Training Item

编制部门:软件教研室编制人:李福亮审核人: 编制日期:2010年9月10日

实验三实训指导

(一)基础训练

Code-3.1:ForLoop.java

(1)使用自动插入匹配字符功能

如:结束一个语句:System.out.println(searchName +" is found!");

只需要键入:System.out.println(searchName +" is found;

注: //当输入匹配符号(如双引号、括号等)的左边部分时,匹配的右边部分会自动插入。在输入分号时,不必移动光标,直接输入分号,分号会自动插入到行末。

如:将字符串分割为两行:System.out.print(searchName+"is" +

"found");

只需要键入:System.out.print(searchName+"is

found;

注:将字符串分割两行,按下回车时,自动添加连接字符串的语句。若断行的时候不希望自动添加上联结语句,可

(2) 显示行号

右击“源代码编辑器”的左边沿,选择“显示行号(Show Line Numbers)”或在“视图(View)”菜单选择“显示行号(Show Line Numbers)”

(3) 生成代码片段

1)自动完成java语句

在源代码编辑器中输入java标识符的时候,可以使用NetBean提供的代码完成窗口来完成语句,另外源代码编辑器中还会显示包含javadoc文档的窗口,窗口中的内容是代码完成窗口中选中的标识符对应的javadoc文档。

以下操作之一会打开代码完成窗口:

.输入代码语句的前几个字符,然后按下“Ctrl_spacebar‖或“Ctrl-\‖。

.在输入(.)号之后停顿几秒钟

输入new或者import关键字后,输入一个空格,然后停顿几秒。

以下操作之一会完成当前语句,关闭代码完成窗口。

继续输入直到标识符中只剩下唯一选项,然后按下回车。

滚动列表,用鼠标选中一个选项,然后按回车

2)关闭java 代码完成窗口的自动弹出功能(需要时按下Ctrl+Shift+spacebar来激活)

NetBeans主菜单中的“工具”|“选项”,展开“编辑”|“编辑设置”,选择“java编辑器“。

取消选择“自动弹出完成窗口“。

关闭使用代码完成窗口时的javadoc文档自动弹出功能:在属性面板的高级部分,取消选择“自动弹出javadoc窗口“。

3)缩写展开

对于常用的关键字和标识符,可以在源代码编辑器中使用缩写输入,以减少键盘输入操作输入缩写后按下空格键,缩写会自动展开。

如:sout—System.out.println(―|‖);//(|)符为光标停留的位置

ab—abstract

St—String

注:可以添加、删除缩写。“工具”|“选项”,展开“编辑”|“编辑器设置”节点,选择需要修改缩写的文件类型对应的编辑器(Code Template)。选择new或remove 进行添加或删除。

4)处理导入

修复导入(Alt_Shift+F)

快速导入(Alt+Shift+I)

代码完成功能自动生成导入语句。

(4).编辑代码时显示javadoc文档。按下“Ctrl+Shift+spacebar‖可以查看当前选中的类的文档。

(5).格式化代码

1)手动缩进代码块:选中多行代码,然后按下Ctrl+T

2) 对整个文件进行操作:Ctrl+Shift+F

2.使用NetBeans的编辑特性,完成以下工作

(1). 按以下方式编写名为WhileLoop.java的新文件,并编译和运行代码

?它应该与上述ForLoop.java具有相同的代码,不同的是使用了while循环(而不是for 循环)

?执行字符串应该从用户获取。

(2)按以下方式编写名为DoWhileLoop.java的新文件,并编译和运行代码

?它应该与上述ForLoop.java具有相同的代码,不同的是使用了do {..} while循环(而不是for 循环)

?执行字符串应该从用户获取。

3.创建LastThreeWords 项目以使用String 类的方法,使用户输入的单词首先全部以大写显示,然后全部以小字显示。必须使用帮助文档或者在NetBeans 中以上下文敏感方式查看String 类的Javadoc 必须使用的

(1)使用NetBeans创建LastThreeWords项目,编辑文件LastThreeWords.java。参考代码如下。

package lasttreewords;

import javax.swing.JOptionPane;

/**

*

* @author lifuliang

*/

public class LastTreeWords {

/**

* A program that asks three words from the user using the JOptionPane

* and then displays these three words as a phrase on the screen

*/

public static void main(String[] args){

String words[]=new String[3];

String str="";

//gets the Three words from the user

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

{ str="Enter word"+i;

words[i] = JOptionPane.showInputDialog(str);

}

JOptionPane.showMessageDialog(null,words[0]+" "+words[1]+" "+words[2],"输入的字符串

",JOptionPane.DEFAULT_OPTION);

JOptionPane.showMessageDialog(null,words[0].toLowerCase()+" "+words[1].toLowerCase()+"

"+words[2].toLowerCase(),"小写的字符串",JOptionPane.DEFAULT_OPTION);

JOptionPane.showMessageDialog(null,words[0].toUpperCase()+" "+words[1].toUpperCase()+"

"+words[2].toUpperCase(),"大写的字符串",JOptionPane.DEFAULT_OPTION);

}

}

(2)调试和运行该程序,并通过帮助体验String类和JOptionPane类方法的使用

(3)修改程序,将输入的三个字符串按由小到大排列。编写代码并调试运行

(二)拓展训练

4.使用帮助文档,查找String类和StringBuffer类的使用方法,完成下列程序。通过键盘输入一个字符串,判断每一个字符,如果是小写字母,将其转换为大写,如果是大写则转换为小写;如果是数字,转换为“0”;其他字符转换为‖#‖;将转换后的字符串在屏幕上显示(以下程序可实现键盘输入功能)

import java.io.*;

public class ReadIn{

public static void main(String[] args){

String s=new String();

try{

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

s = br.readLine();

}catch(Exception e){}

int l=s.length();

StringBuffer s1=new StringBuffer(s);

char c=s1.charAt(i);

if(c>='a'&&c<='z')

s1.setCharAt(i,(char)(c-32));

else if(c>='0'&&c<='9')

s1.setCharAt(i,'0');

else

s1.setCharAt(i,'#');

}

System.out.println(s1.toString());

}

}

用字符数组实现

char s1[]=new char[l+1];

for( i=0;i

{ char c=s.charAt(i);

if(c>='a'&&c<='z')

s1[i]=(char)(c-32);// s.replace(s.charAt(i),'A');

else if(c>='0'&&c<='9')

s1[i]='0';

else

s1[i]='#';

}

s1[i]='\0';

System.out.println(s1);

}

作业:

1.求解约瑟夫环问题,Josephus_array.java,并编译和运行代码

约瑟夫环(Josphus)问题:古代某法官要判决N个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第S个人开始算起,每数到第D个犯人,就拉出来处决,然后再熟D个,数到的人再处决……直到剩下的最后一个可赦免。使用数组存储每个人的编号,数组下标按循环方式递增。对于N、S、D的任意一组值,显示出环者次序,求出正确的解。

参考代码

如下:

public class Josephus_array

{

public static void output(int table[]) //输出一维数组元素

{

for (int i=0;i

System.out.print(" "+table[i]);

System.out.println();

}

public static void display(int number,int start,int distance) //参数表示人数、计数起始下标、计数距离{

int[] ring = new int[number];

java实验二附答案

Java 实验二 实验二类与对象 实验目的 1、掌握面向对象程序设计的方法与Java 作为面向对象程序设计语言的特点; 2、掌握修饰符与构造方法的使用规则; 3、掌握接口的特点、结构、调用与继承; 4、掌握如何创建包, 通过包如何管理类; 5、掌握Java 的继承机制与实现多态的方法实验内容 (1)定义一个类Student,属性为学号、姓名与成绩;方法为增加记录SetRecord与得到记录GetRecord。SetRecord赋值学号、姓名与成绩,GetRecord通过学号得到考生的成绩。通过实例验 证编程无误。 ⑵定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea()然后设 计Circle与Rectan两个类实现这个接口的方法calculateArea()分别计算圆与矩形的面积。通过实例验证编程无误。 (3) 假定根据学生的3门学位课程的分数决定其就是否可以拿到学位,对于本科生, 如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (i)设计一个基类Student描述学生的共同特征。 (ii)设计一个描述本科生的类Undergraduate该类继承并扩展Student类。 (iii)设计一个描述研究生的类Graduate该类继承并扩展Student类。 (iv)设计一个测试类StudentDemo分别创建本科生与研究生这两个类的对象,并输 出相关信息 附实验一名称就是Java 语言基础实验报告分为以下几个部分 一实验名称二实验目的三实验仪器四实验步骤(把您的操作一步一步写清楚,java 程序代码要写) 五实验结果(程序运行后的结果就就是DOS 环境下运行出来的结果写在实验报告上) 六实验讨论(实验过程中的错误及如何改正,您的心得体会等) 答案: (1)定义一个类Student,属性为学号、姓名与成绩;方法为增加记录SetRecord与得到记录GetRecord。SetRecord 赋值学号、姓名与成绩,GetRecord 通过学号得到考生的成绩。通过实例 验证编程无误 public class Student { private int ID; private String name; private float score; public void SetRecord(int ID,String name,float score){ this、ID=ID; this、name=name; this、score=score; } public float getRecord(int ID){ if(ID==this 、ID) return this 、score; else return -1; }

java实验二

信息工程学院1 Java程序设计实验/实习报告 学院: 班级:地信姓名: 学号:2 成绩:A 面向对象编程 一、实验/实习过程 (一)实验目的 掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。(二)实验过程 【实验题1】完成如下程序,完成思考题 [基本要求] 运行程序并观察运行结果。 [思考问题] 试述程序中主要语句的作用 运行结果: 主要程序语句的作用已标注为注释: class CCircle // 类的声明 { double pi; //申明成员变量 double radius; //申明成员变量 double getRadius() //创建方法 实验报告的内容与格式按任课教师的要求书写。

{ return radius; //返回 radius } void setCircle(double r, double p) //创建方法 { pi=p; //初始化数据成员 radius=r; //初始化数据成员 } } public class Ex2_1 //类的声明 { public static void main(String args[]) //主方法 { CCircle cir1=new CCircle(); //创建对象 cir1.setCircle(2.0,3.1416); //调用对象 System.out.println("radius="+cir1.getRadius()); //输出结果 } } 【实验题2】设计一个用来描述汽车的类,使用类的静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。 package zz1; public class Car{ String name; int speed; int jiaodu; public Car(String name,int speed,int jiaodu){ https://www.doczj.com/doc/1511764491.html,=name; this.speed=speed; this.jiaodu=jiaodu; System.out.println("车主:"+https://www.doczj.com/doc/1511764491.html,); System.out.println("车速为:"+this.speed);

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/1511764491.html,/j2se,根据提示

JAVA实验2复习资料

1.设计一个名为figure的图形软件包(package)。包中包 含三角形、矩形、圆三个类。要求:(1)每个类都要构造 方法并为成员设置get和set方法;(2)每个类都要有计 算周长和面积的成员方法;(3)完成该软件包后的编码后, 在另一个包的含有main方法的类中编写代码,分别使用 图形软件包中的三个类,生成三个对象,并打印出其周长 和面积。 ****************************************************** package figure; public class juxing{//矩形的计算函数 private double lenth,width; public juxing(){ lenth=0; width=0; } public juxing (double x,double y){ lenth=x; width=y; } public void setLenth(double lenth){ this.lenth=lenth; } public double getLenth(){ return lenth; } public void setWidth(double width){ this.width=width; } public double getWidth(){ return width; } public double perimeter(){ return lenth*width; } public double Area(){ return (lenth+width)*2; } } ****************************************************** package figure; import java.math.*; public class sanjiaoxing {//三角形的计算函数 private double side1; private double side2; private double side3; public sanjiaoxing(){ side1=0; side2=0; side3=0; } public sanjiaoxing(double x,double y,double z){ side1=x; side2=y; side3=z; } public void setSide1(double side1){ this.side1=side1; } public double getSide1(){ return side1; } public void setSide2(double side2){ this.side2=side2; } public double getSide2(){ return side2; } public void setSide3(double side3){ this.side3=side3; } public double getSide3(){ return side3; } public double perimeter(){ return side1+side2+side3; } public double Area(){ double p=(side1+side2+side3)/2; return Math.sqrt(p*(p-side1)*(p-side2)*(p-side3)); } } ****************************************************** package figure; import java.math.*; public class yuanxing {//圆形的计算函数

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

Java程序设计-试验2(学生版)

华北电力大学 实验报告 实验名称Java程序面向对象设计(一)课程名称Java程序设计 专业班级:学生姓名: 学号:成绩: 指导教师:张学斌实验日期:

一、实验目的及要求 1.掌握类的定义。 2.掌握成员变量和成员方法的定义。 3.掌握构造方法的定义和使用。 4.掌握类的多态性 二、实验环境 Windows2000/Windows XP,JDK 1.2~1.6 三、试验内容和步骤 要求按照实验内容,写出详细实验过程和步骤,必要时截图。 实验1 机动车 1.1实验要求 编写一个Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下: Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。定义了speedUp(int s)方法,体现机动车有加速功能。定义了speedDown()方法,体现机动车有减速功能。定义了setPower(int s),用于设置机动车的功率。定义了getPower()方法,用于获取机动车的功率。 在主类User的mian()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。 1.2程序模板 Vehicle.java public class Vehicle { 【代码1】//声明double型变量speed,刻画速度 【代码2】//声明int型变量power,刻画功率 void speedUp(int s) { 【代码3】//将参数s的值与成员变量speed的和赋值给成员变量speed } void speedDown(int d) { 【代码4】//将成员变量speed与参数d的差赋值给成员变量speed } void setPower(int p) { 【代码5】//将参数p的值赋值给成员变量power } int getPower() { 【代码6】//返回成员变量power的值

java第二次实验报告

java实验报告 实验题目运用JavaFx实现时钟动画学生姓名 指导教师 学院 专业班级 完成时间2014年12

目录 一、实验目的 (3) 二、实验开发环境和工具 (3) 三、实验内容 (3) 四.实际简要描述: (3) 五.程序清单 (4) 六.结果分析 (10) 七.调试报告 (11) 八.实验心得 (11)

一、实验目的 1.了解和掌握JavaFx动画基本概念和相关用法 二、实验开发环境和工具 可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.8。 三、实验内容 基于JavaFx画出如下所示可动态变化的时钟。要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。时钟初始时显示当前时间并开始动态变化。 四.实际简要描述: 1.新建一个动态时针 EventHandlereventHandler = e -> { clock.setCurrentTime(); // 设置时钟时间 }; 2.建立一个动画使时钟走起来 Timeline animation = new Timeline( newKeyFrame(https://www.doczj.com/doc/1511764491.html,lis(1000), eventHandler)); animation.setCycleCount(Timeline.INDEFINITE); animation.play(); // 开始动画

3.建立按钮 HBoxhbox=new HBox();//新建HBOX布局 hbox.setSpacing(20); hbox.setLayoutX(310); hbox.setLayoutY(520); Start = new Button("Start");//建立start按钮 Start.setPrefSize(80, 40); Stop = new Button("Stop");//建立stop按钮 Stop.setPrefSize(80, 40); hbox.getChildren().addAll(Start,Stop);//将按钮加入HBOX getChildren().add(hbox); 五.程序清单 importjavafx.application.Application; importjava.util.Calendar; importjava.util.GregorianCalendar; https://www.doczj.com/doc/1511764491.html,yout.Pane; importjavafx.scene.paint.Color; importjavafx.scene.shape.Circle; importjavafx.scene.shape.Line; importjavafx.scene.text.Text; importjavafx.application.Application; importjavafx.stage.Stage; importjavafx.animation.KeyFrame; importjavafx.animation.Timeline; importjavafx.event.ActionEvent;

java实验报告样本2

实验项目名称:继承和多态 (所属课程:Java语言程序设计) 院系:计算机科学与信息工程专业班级:12级物联网工程姓名:张懿 学号:201203040042 实验地点:A-06 411 指导老师:张阳 本实验项目成绩:教师签字:日期: 1.实验目的 (1)掌握类的继承机制。 (2)熟悉类中成员变量和方法的访问控制。 (3)熟悉方法或构造方法多态性。 2.实验内容 (1)模拟编写程序,理解类的继承、多态、继承和多态规则。 (2)独立编程,实现类的继承和多态。 3.实验作业 设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle (圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。 海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2 4.实验程序 import java.util.Scanner; public class TEST { public static void main(String[] args) { float radius; float chang,kuan; float a,b,c; Scanner input = new Scanner(System.in);

System.out.print("请输入圆的半径:"); radius = input.nextFloat(); Circle circle = new Circle(radius); System.out.println("圆的面积为:"+circle.area()+" 圆的周长为:"+circle.perimeter()+"\n"+circle.toString()); System.out.print("请输入矩形的长:"); chang = input.nextFloat(); System.out.print("请输入矩形的宽:"); kuan = input.nextFloat(); Rectangle rectangle = new Rectangle(chang,kuan); System.out.println("矩形的面积为:"+rectangle.area()+" 矩形圆的周长为:"+rectangle.perimeter()+"\n"+rectangle.toString()); System.out.print("请输入三角形的第一条边:"); a = input.nextFloat(); System.out.print("请输入三角形的第二条边:");

实验 2 Java 基本语法练习

实验 2 Java 基本语法练习 一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握Java 基本数据类型、运算符与表达式。 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6.通过以上内容,掌握Java 语言的编程规则。 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。

2.编译并运行该程序 (二)了解变量的使用范围 1.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。

2.编译KY2_2.java 此时会出现错误提示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 3.修改上面的程序。 4.成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三)使用关系运算符和逻辑运算符 1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 2.编译并运行该程序。 (四)使用表达式语句与复合语句 1.建立包含表达式语句程序,源代码如下。 2.建立包含复合语句程序,源代码如下。

3.编译并运行上述两个源程序 4.将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。 思考:指出程序的复合结构以及变量的使用范围。 (五)使用选择语句 1.使用if...else 语句 ?程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。 ?编写源程序文件,代码如下。

java程序设计-试验2(学生版)()

华北电力大学 实验报告实验名称Java程序面向对象设计(一)课程名称Java程序设计 专业班级:学生姓名: 学号:成绩: 指导教师:张学斌实验日期:

一、实验目的及要求 1.掌握类的定义。 2.掌握成员变量和成员方法的定义。 3.掌握构造方法的定义和使用。 4.掌握类的多态性 二、实验环境 Windows2000/Windows XP,JDK 1.2~1.6 三、试验内容和步骤 要求按照实验内容,写出详细实验过程和步骤,必要时截图。 实验1 机动车 1.1实验要求 编写一个Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下: Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。定义了speedUp(int s)方法,体现机动车有加速功能。定义了speedDown()方法,体现机动车有减速功能。定义了setPower(int s),用于设置机动车的功率。定义了getPower()方法,用于获取机动车的功率。 在主类User的mian()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。 1.2程序模板 Vehicle.java

【代码1】//声明double型变量speed,刻画速度 【代码2】//声明int型变量power,刻画功率 void speedUp(int s) { 【代码3】 //将参数s的值与成员变量speed的和赋值给成员变量speed } void speedDown(int d) { 【代码4】//将成员变量speed与参数d的差赋值给成员变量speed } void setPower(int p) { 【代码5】 //将参数p的值赋值给成员变量power } int getPower() { 【代码6】 //返回成员变量power的值 } double getSpeed() { return speed; } } ---------------------------------------------------------------------------------------------- User.java

JAVA实验报告 (2)

附件2:实验报告封皮 2015—2016学年第1学期 Java应用程序设计课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:14402 姓名:邵磊 学号:041440230 任课教师:王薇

实验日期:2015年11月02日实验题目Java简介及开发环境搭建 实验内容1.熟悉Java开发环境2.Java程序的编辑和运行 实验目的1.熟悉Java开发环境 (1)熟悉JDK工具包的下载及安装过程。 (2)掌握JAVA_HOME、CLASSPATH及Path的配置内容。(3)掌握Java程序运行原理及javac、java命令的使用。2.Java程序的编辑和运行 (1)熟悉用记事本编写Java程序的过程。 (2)了解Java程序的基本结构。 (3)掌握javac及java命令的使用。 (4)熟悉MyEclipse集成开发环境的使用。 实验步骤1.熟悉Java开发环境 (1)登录Oracle官方网站Java首页https://www.doczj.com/doc/1511764491.html,/technetwork/java/index.html并下载最新版JDK工具包。 (2)将JDK工具包安装在D:\java\jdk1.6.0_18\文件夹中。 (3)完成JDK环境配置。创建JAVA_HOME变量并设置其值为”D:\java\jdkl1.6.0_18”,创建CLASSPATH 变量并设置其值为”D:\java\jdkl1.6.0_18\lib”文件夹中的dt.jar、tools.jar及当前目录,在Path变量原有值的基础上增加”D:\java\jdk1.6.0_18\bin”。 (4)验证JDK是否配置正确。 2.Java程序的编辑和运行 (1)创建D:\javaExecise文件夹。 (2)设置显示已知文件夹类型的扩展名。 (3)利用记事本完成Java程序的编写。 (4)利用命令编译运行Javs程序 (5)在MyEclipse中编译并运行Java程序 实验结果1.熟悉Java开发环境 单击【开始】|【运行】命令打开【运行】对话框。在该对话框的【打开】文本框中输入”cmd”命令,进入【命令提示符】窗口。在命令提示符后面输入”javac”命令。出现相关与javac命令相关的参数说明,也可以在命令提示符后面输入”java-version”,如果配置成功会显示当前JDK版本。2.Java程序的编辑和运行 在【我的电脑】的D盘创建了【javaExecise】文件夹,并且取消【隐藏已知文件夹类型的扩展名】复选框的勾选状态。在【开始】里的所有程序中选择【附件】|【记事本】命令,打开【无标题-记事本】窗口。在记事本中书写代码。写完保存代码并存在D:\javaExecise路径把文本名字改为Start.java。在【开始】|【运行】命令中,输入cmd命令进入【命令提示符】窗口完成java Start,解释执行。在MyEclipse中实现了第一个程序。 遇到1.熟悉Java开发环境 在网上搜索官方网站,因为官网都是英文版所以应用起来不是很方便,下载后把软件安装在D盘,在安装JDK时,步骤不再是一直按“下一步”,而是要在【我的电脑】里的【属性】中找到【系统属性】对话框,单击【高级】选项卡,打开【环境变量】。在里面新添加两个系统变量和更改一个

java实验报告实验二

实验报告 班级: 学号: 姓名:

实验二标识符、关键字和数据类型 一、实验目的 1.认识标识符、关键字、运算符及数据类型。 2.掌握标识符的书写格式、常见的基本数据类型以及运算符的使用方式。 3.了解强制数据类型转换和弱类型转换。 二、实验原理 Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。 Java标识符给变量起上一个名字叫做变量名称,这个自定义的变量名称其实就是一个标识符,其实你自定义的类名称也是一个标识符,也就是说你自定义的名称都是标识符,它可以是类的名称、变量的名称、包的名称、方法的名称等。 1. 标识符可以由字母,数字,下划线(__),美元($)组成,但是不能包含@,%,空格等其他的特殊符号,不能以数字开头。例如 123name 就是不合法的。 2.标识符不能是Java关键字和保留字(Java预留的关键字,或者以后升级版本中有可能作为关键字),但可以包含关键字和保留字~例如:不可以使用void 作为标识符,但是Myvoid 可以。 3.标识符是严格却分大小写的,所以一定要分清alibaba和ALIbaba是两个不同的标识符哦。 4.标识符的命名最好能反应出其作用,做到见名知意。 Java运算符算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符。

1.算术运算符:算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 2.赋值运算符:赋值运算符是指为变量或常量指定数值的符号。如可以使用“=” 将右边的表达式结果赋给左边的操作数。 3.比较运算符:比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。 4.逻辑运算符:逻辑运算符主要用于进行逻辑运算。 5.条件运算符: 条件运算符( ? : )也称为“三元运算符”。 语法形式:布尔表达式?表达式1 :表达式2。 运算过程:如果布尔表达式的值为true ,则返回表达式1 的值,否则返回表达式2 的值。 Java类型转换:基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换),否则,将编译出错。 1.基本数据类型中数值类型的自动类型提升。 数值类型在内存中直接存储其本身的值,对于不同的数值类型,内存中会分配相应的大小去存储。如:byte类型的变量占用8位,int类型变量占用32位等。相应的,不同的数值类型会有与其存储空间相匹配的取值范围。 2.基本数据类型中的数值类型强制转换

JAVA第二次实验代码

第二次实验代码 1.由键盘输入10个整数,比较并输出其中的最大值和最小值。 import java.util.Scanner; public class Lab2_2{ public static int maximum(int array[]){ int max=array[0]; for(int i=1;iarray[i]) min=array[i]; } return min; } public static void main(String args[]){ Scanner input=new Scanner(System.in); int intArray[]=new int[10]; for(int i=0;i

max=maximum(intArray); min=minimum(intArray); System.out.println("max="+max+", min="+min); } } 2.随机产生50个1-100之间的整数,存放于一个10?5的二维数组中,要求按 照10?5的格式打印这个数组(即显示10行,每行5个数,数与数之间间隔一个空格),并求出该数组所有元素之和。 public class Lab2_3{ public static void main(String args[]){ int a1[][]=new int[10][5]; int sum=0; for(int i=0;i<10;i++) {for (int j=0;j<5;j++) { int rand=(int)(Math.random()*100+1); a1[i][j]=rand; sum+=a1[i][j]; System.out.print(a1[i][j]+" ");} System.out.println();} System.out.println("这个数组的总和为:"+sum); } } 3.4. 见第三章课后习题

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实验二

实验二 Java基本数据类型与控制语句 【目的】 ①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表; ②掌握使用if…else if多分支语句; ③使用if…else分支和while循环语句解决问题。 【内容】 1.输出希腊字母表。 ?实验要求: 编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 ?程序: GreekAlphabet.java public class GreekAlphabet { public static void main (String args[ ]) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=cStart; //cStart做int型转换据运算,并将结果赋值给startPosition endPosition=cEnd; //cEnd做int型转换运算,并将结果赋值给endPosition System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c); System.out.println("希腊字母表:"); for(int i=startPosition;i<=endPosition;i++) { char c='\0'; c=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c); if((i-startPosition+1)%10==0) System.out.println(""); } } } 运行结果: ?实验后的练习: 1.将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误?

Java实验2

验2 类和对象 一、实验目的: 1、学习定义类和使用类创建对象。 2、掌握对象变量和普通变量的区别,学习掌握使用对象调用其成员的方法。 3、学习掌握类的构造方法。 4、学习掌握给方法传递对象。 5、学习掌握类的静态变量和静态方法。 二、实验任务: 1、创建Java程序,学习类的定义、使用类创建对象、通过对象调用其成员、 类的构造方法的作用、如何给方法传递对象、掌握静态变量、静态方法 的用法。程序要求: (1)首先创建Circle类表示平面上的圆,要求该类具备构造方法,以初始化表示半径的私有数据成员radius;具备求圆面积的方法; 还要具备一个静态数据成员numOfObjects,用来统计程序运行过 程中创建圆对象的个数。 (2)创建一个静态方法public static void printCircle(Circle c),功能是输出参数圆对象c的相关信息,包括半径和面积的值。(不是Circle 的成员方法) (3)程序运行中创建2个以上的圆对象,分别输出相关信息,并统计输出对象的数目。 2、创建Java程序,进一步学习上述的内容以及关键字this的使用和类抽象 的概念。程序要求: (1)首先创建有理数类Rational,该类包含构造方法和加、减、乘、除方法。 (2)程序主方法中创建两个有理数对象,分别进行加、减、乘、除运算,并输出运算结果。 三、实验步骤: 1、按照任务1的要求创建一个表示圆形的Circle类。 2、按照任务1的要求创建一个类TestInstanceAndClassVariable,其中包含静 态方法public static void printCircle(Circle c)和程序的主方法main,在main 方法中创建两个或多个Circle对象,调用printCircle(Circle c)方法显示每 个Circle对象的相关信息,最后统计程序中所有创建的Circle类对象的 数目。 实验代码: public class TestInstanceAndClassVariable{ public static void main(String[]args) { Circle circle1=new Circle(); System.out.println("Beforecreatingcircle2"); System.out.print("circle1is:"); printCircle(circle1); Circle circle2=new Circle(5);

JAVA实验2答案

实验二. Java基本数据类型Java程序设计与开发实验名称课程名称课程号 技术与数组 计科班级专业计算机科学与技术学院(系) 信息学院 2015年钟海楼实验地点学号学生姓名实验日期月17日904019 一、实验目的 Java数据类型之间的转换;)学习掌握(1 Java 程序中数组的 使用。(2)学习 二、实验任务 3的实验任务。、实验2和实验完成实验二指导上实验 1 三、实验仪器设备和材料 PC机。安装有J2SE开发工具的 四、实验内容和步骤输出希腊字母表实验1 应用程序,该程序在命令行窗口输出希腊字母表。编写一个Java 代码如下: public class GreekAlphabet{ public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition = (int)cStart; endPosition = (int)cEnd; +startPosition);表中的顺序位置:\'在Unicode 希腊字母\'α ); 希腊字母表: for(int i=startPosition; i<=endPosition; i++){ char c='\0'; c = (char)i; +c); if((i-startPosition+1)_x0010_==0) \); } \); } } 运行结果: 实验后的练习型变量,程序编译时提示怎样的错误。型数据直接赋值float(1)

将一个double float可能会有损失:5: 错误: 不兼容的类型: 从double转换到 :)(2 在应用程度的main()方法中增加语句 float x= ; 程序能编译通过吗 : 不兼容的类型从double转换到float可能会有损失不能,:3: 错误: 应用程度的main()方法中增加语句:(3) int z = (byte)128 的值是多少程序输出变量z 运行结果: 数组的引用与元素实验2 Java编写一个应用程序,该程序在命令行窗口输出数组的引用以及元素的值。代码如下: public class InputArray{ public static void main(String[] args) { int[] a={100,200,300}; 4,6,4,1}}; b[4]=a; } } 运行结果: 实验后的练习”,编译是否有错运行是否有错4之后增加语句“a[3]=200;在程序的代码)(1 编译通过。运行错误。提示 Exception in thread main 3 b的各个一维数组的长度和引用。在程序的代码4之前输出二维数组(2)增加代码: for(int i=0;i<;i++){ } 运行结果: 的各个一维数组的长度和引用。4之后输出二维数组b(3)在程序的代码增加代码同上。运行结果: 遍历与复制数组实验3 的全部或部分元素复a的全部元素,并将数组Java应用程序,输出数组a编写一个 a的全部元素。制到其他数组中,然后改变其他数组的元素的值,再输出数组代码如下:

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