java程序设计课程--实验指导书--实验2

更新时间:2023-10-08 13:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验02 数据与表达式

实验学时:4学时 实验类型:验证 实验要求:必修

一、实验目的

? ? ? ? ? ?

了解并掌握Java程序语言框架结构

掌握Java程序编译过程中错误提示信息调试程序的方法 掌握字符串的用法、字符串拼接和转义符的使用方法 掌握变量的声明和使用

了解并掌握Java语言中数据类型转换机制 了解并掌握交互程序Scanner类的使用方法

二、实验条件

? 硬件要求:CPU PII 以上,64M 内存,100M 硬盘空间。 ? 软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。 ? 开发环境:JDK1.6.0_10, NotePad或者EditPlus。

三、实验内容 (一)打印一首诗

编写一段Java程序,打印如下信息:“Roses are red”。程序应该包含一个main方法(参照例子Lincoln.java。注意一下事项:

? 类名必须与文件名相匹配(不包括扩展名.java)

? main方法的定义必须位于类内部(在第一个“{”和最后一个“}”之间) ? 打印信息的语句必须位于main方法内

? 添加必要的注释:程序文件名称;主要功能介绍;程序中主要语句的解释。

编译并运行程序,输出结果如下: Roses are red Violets are blue Sugar is sweet And so are you!

1

(二)打印学生名单

开发一段程序,用于打印学生姓名和其他信息的一个列表。使用转义符“\\t”有助于安排输出信息的格式。请先阅读下面给出的程序Names.java。

1. 将Names.java保存至本地文件夹。编译并运行,查看结果。

2.添加你本人和至少另外两位同学的姓名和籍贯至程序中。保存、编译并运行,查看结果。保证输出的结果行列之间对齐。

3. 修改程序,添加一个第3列“Major”至程序中。假设Sally的专业是Computer Science,Alexander的专业是Math。注意第3列的表头是“Major”,以及行列对其(要使用“\\t”转义符)。

(三)加号(“+”)的两个作用

在Java中,加号(“+”)可以用于数字相加,或者字符串的连接。当使用字符串时,应保证字符串的所有内容在同一行。下面是一个错误的例子:

System.out.println(“It is NOT okay to go to the next line in a Long String!!!”);

如果字符串过长,解决的办法是将长字符串拆分成两个或多个短字符串,以加号连接。下面是一个正确的例子:

System.out.println(“It is Okay to break a long string into” + “parts and join them with a + sympol.”);

因此,当加号用于字符串之间时,表示将两个字符串相连。但是,当其用于两个数字之间时,就表示数学上的相加。

1. 仔细阅读PlusTest.java文件,观察加号在不同设置下的行为表现: a. 阅读文件PlusTest.java文件中的源程序

2

b. 将PlusTest.java保存至个人目录。

c. 编译并运行程序。将最后面三行语句的输出结果记录下来,注意以下要点。 ? 当“+”两边都是操作数的时候,该符号被看做“加号”。

? 当“+”两边至少有一个字符串的时候,该符号被看做连接符。 ? 如果一个表达式中包含了不只一个“+”,那么括号中的表达式具有优先计算顺序。如

果没有括号,加号的计算顺序是从左至右。

2. 使用“+”编写一个Java程序,输出结果如下所示:

Ten robins plus 13 canaries is 23 birds.

要求:程序只能使用一条调用println方法的语句。必须使用“+”来实现加法操作和字符串连接。

(四)表达式计算

按照以下给出的声明,请回答每个表达式的运算结果

3

(五)计算圆面积与周长

下面这段程序使用了变量和常量,仔细阅读,然后完成后面的练习。

注意事项:

4

? Main方法里面的前3行语句声明了PI,半径radius和面积area。注意每个标识符的数

据类型:PI是final double,因为它是一个浮点型常量;半径是整型int变量;面积是double型变量。

? 前3行语句给三个变量赋值,因此也就将它们实例化。也可以采取其他方法处理,比如

将声明和实例化分开处理,相比之下,不如前者简洁。 ? 接下来的一行用于输出一条语句,显示给定半径的圆面积。

? 在下面一行语句是一条赋值语句,将半径值设定为20。注意这并不是一个声明,所以

此处并未出现int。我们使用同一内存位置来存储半径的值20和10,重新赋值的过程并没有分配新的内存空间。

? 与此相同,再下一行的赋值语句也不会出现double。 ? 最后输出的程序结果输出以新半径值计算的圆面积。

保存文件Circle.java至本地目录,按照以下要求修改该程序:

1. 按照圆的周长公式。在程序中增加语句,以计算圆周长。按照以下步骤进行: ? 声明一个新变量,用以存储周长值;

? 每次计算周长值之后,将结果保存至该变量; ? 另外增加打印语句,打印你的结果。

2. 如果半径值翻倍,那么圆的周长和面积会发生怎样的变化?改写上面的程序,输出以下内容:1)原始半径值条件下的周长和面积;2)半径增大一倍后圆的周长和面积;3)半径变化前后两个周长的比值,以及两个面积的比值。请改写本程序,重新声明变量,即两个周长,两个面积。按照以下步骤进行:

? 改变原程序中面积和周长变量的名称,以便于区分新声明的变量名称;

? 在程序最后面,计算半径改变前后两个周长的比值,以及两个面积的比值,输出结果;

3. 上面的程序给出了在半径值为10和20的情况下,圆周长和面积的计算结果。这是属于一种硬编码(Hardcoded)的形式。为了使程序更为灵活,可以计算任何半径值情况下的周长和面积值,请尝试改写程序。按照以下步骤进行: ? 在文件的顶端,增加以下语句:

? import java.util.Scanner

? 这行程序告诉编译器程序将使用util包中的Scanner类。在主方法中,创建Scanner

的对象scan,用于读取来自于System.in的数据。

? 声明radius变量,但并不赋值。增加两行语句用于从用户端读取半径值:

? 输出一行提示符,告诉用户将要从从键盘读取数据,比如:Please enter a value for the

radius!

? 一条实际读取输入流信息的语句。我们已经假设半径数据类型为整型,因此使用

Scanner类的nextInt()方法来读取输入值。

5

本文来源:https://www.bwwdw.com/article/8iyf.html

Top