JAVA实验

更新时间:2023-12-05 07:56:01 阅读量: 教育文库 文档下载

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

学生实验报告册

2012 2013学年第2学期

姓 名: 学 号: 年级专业: 课程名称: 任课教师: 成 绩:

实验一 一个简单的应用程序

一、实验目的

本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。 二、实验要求

编写一个简单的Java应用程序,该程序在命令行窗口输出文字:“你好,欢迎学习Java!”,并换行输出自己的姓名和学号。 三、程序源代码 Hello.java

public class Hello {

public static void main(String[] args) {

System.out.println(\你好,欢迎学习Java!\

【代码1】 // 命令行输出“自己的姓名” 【代码2】 // 命令行输出“自己的学号” } }

四、实验结果

五、教师评语

实验二 联合编译

一、实验目的

本实验的目的是学习同时编译多个Java源文件。 二、实验要求

编写4个源文件:MainClass.java、A.java、B.java和C.java,每个源文件只有一个类。其中MainClass.java含有应用程序的主类(含有main()方法),并使用了A、B、C三个类。将4个源文件保存在同一个目录中。例如D:\\java,然后编译MainClass.java。 三、程序源代码 MainClass.java

public class MainClass {

public static void main(String[] args) {

【代码1】 //命令行窗口输出“你好,只需编译我。”

A a = new A( );

a.fA( );

B b = new B( ); b.fB( );

} }

public class A { void fA( ){

【代码2】 //命令行窗口输出“我是类A”

} }

public class B { void fB( ){

【代码3】 //命令行窗口输出“我是类B”

} }

public class C { void fC( ){

【代码4】 //命令行窗口输出“我是类C”

} }

四、实验结果

五、教师评语

实验三 输出希腊字母表

一、实验目的

本实验的目的是让学生掌握char型数据和int型数据之间的互相转换,同时了解Unicode字符表。

二、实验要求

编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 三、程序源代码 GreekAlphabet.java

public class GreekAlphabet {

public static void main(String[] args) { int startPosition = 0, endPosition = 0; char cStart = 'α',cEnd = 'ω' ;

【代码1】 // cStart 做int型转换运算,并将结果赋值给startPosition 【代码2】 // cEnd做int型转换运算,并将结果赋值给endPosition

System.out.println(\希腊字母\\'α\\'在unicode表中的顺序位置:\ System.out.println(\希腊字母表:\

for (int i=startPosition; i<=endPosition; i++){

char c = '\\0';

【代码3】 // i做char型转换运算,并将结果赋值给c System.out.print(\

if((i-startPosition+1)==0) System.out.println(\ }

System.out.prinln(“自己的名字”) } }

四、实验结果

五、教师评语

实验四 数组的引用与元素

一、实验目的

本实验的目的是让学生掌握数组属于引用型的一种复合型数据类型。 二、实验要求

编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。 三、程序源代码 IntputArray.java

public class IntputArray {

public static void main(String[] args) { int a[] = {100,200,300};

【代码1】 // 输出数组a的长度 【代码2】 // 输出数组a的引用

int b[][] = {{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}}; 【代码3】 // 输出二维数组b的一维数组的个数 System.out.println(b[4][2]);

【代码4】 // 将数组a的引用赋值给b[4] System.out.println((b[4][2])); } }

四、实验结果

五、教师评语

实验五 回文数

一、实验目的

本实验的目的是让学生掌握使用if-else if-else 多分支语句。 二、实验要求

编写一个java应用程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数, 并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。

1)程序具有判断用户的输入是否为合法整数的功能。对非法输入(例如含有字母) 要进行处理。

2)要判断输入数的位数,并输出相关信息。 3)要判断是否回文数。 三、程序源代码

PalindromicNumber.java

Import java.util.Scanner;

public class PalindromicNumber {

public static void main(String[] args) {

int number = 0, d1, d2, d3, d4, d5;

Scanner reader = new Scanner(System.in);

System.out.println(\输入一个1至99999之间的数:\number = reader.nextInt( );

if(【代码1】) { //计算number在1至99999之间的条件 【代码2】 //计算number的最高位(万位),并赋值给d5 【代码3】 //计算number的千位,并赋值给d4 【代码4】 //计算number的百位,并赋值给d3 d2 = number0/10; d1 = number;

if (【代码5】) { //判断number是5位数的条件 System.out.println(number+\是5位数\

if (【代码6】) { //判断number是回文数的条件 System.out.println(number+\是回文数\ } else{

System.out.println(number+\不是回文数\ } }

else if(代码【7】) { //判断number是4位数的条件 System.out.println(number+\是4位数\

if (代码【8】) { //判断number是回文数的条件 System.out.println(number+\是回文数\ } else{

System.out.println(number+\不是回文数\ } }

else if(代码【9】) { //判断number是3位数的条件 System.out.println(number+\是3位数\

if (代码【10】) { //判断number是回文数的条件 System.out.println(number+\是回文数\ } else{

System.out.println(number+\不是回文数\ } }

else if(d2 != 0) {

System.out.println(number+\是2位数\ if (d1 == d2) {

System.out.println(number+\是回文数\ } else{

System.out.println(number+\不是回文数\ }

}

else if(d1 != 0) {

System.out.println(number+\是1位数\ System.out.println(number+\是回文数\ }

} else{

System.out.printf(\不在1至99999之间\ } } }

四、实验结果

五、教师评语

实验六 猜数字游戏

一、实验目的

本实验的目的是让学生使用if-else 分支和while循环语句解决问题。 二、实验要求

编写一个Java应用程序,实现下列功能:

1) 程序随机分配给客户一个1~100之间的整数。 2)用户输入自己的猜测。

3)程序返回提示信息,提示信息分别是“猜大了”、“猜小了”或“猜对了”。 三、程序源代码 GuessNumber.java

import java.util.Scanner; import java.util.Random;

public class GuessNumber {

public static void main(String[] args) {

Scanner reader = new Scanner(System.in); Random = new Random ();

System.out.println(\给你一个1至100之间的一个整数,请猜出这个数\

int realNumber = random.nextInt(100)+1; // random.nextInt(100)是[0,100)中的随机整数 int youGuess = 0 ;

System.out.println(\输入您的猜测:\ youGuess = reader.nextInt( );

while (youGuess != realNumber ) { //循环条件

if(youGuess > realNumber) { //猜大了的条件代码 System.out.print(\猜大了,再输入你的猜测:\ youGuess = reader.nextInt( ); }

else if(youGuess < realNumber ) { //猜小了的条件代码 System.out.print(\猜小了,再输入你的猜测:\ youGuess = reader.nextInt( ); } }

System.out.println(\猜对了!\

} }

四、实验结果

五、教师评语

实验七 机动车

一、实验目的

本实验的目的是让学生使用类来封装对象的属性和行为。 二、实验要求

编写一个Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下:

1) Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int类型的变量power用于刻画机动车的功率。定义了speedUp(int s)方法,体现机动车由加速功能。定义了speedDown( )方法,体现机动车由减速功能。定义了setPower(int p )方法,用于设置机动车的功率。定义了getPower( )方法,用于获取机动车的功率。可以自己尝试画UML图。

2)在主类User的main( )方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。 三、程序源代码 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的值 }

double getSpeed( ){ return speed; }

} User.java

public class User {

public static void main(String[] args) { Vehicle car1,car2;

【代码7】 //使用new运算符和默认的构造方法创建对象car1 【代码8】 //使用new运算符和默认的构造方法创建对象car2 car1.setPower(128); car1.setPower(76);

System.out.println(\的功率是:\ System.out.println(\的功率是:\

【代码9】//car1调用speedUp( )方法将自己的speed的值增加80 【代码10】//car2调用speedUp( )方法将自己的speed的值增加100 System.out.println(\的速度是:\ System.out.println(\的速度是:\ car1.speedDown(10); car2.speedDown(20);

System.out.println(\目前的速度是:\ System.out.println(\目前的速度是:\ } }

四、实验结果

五、教师评语

实验八 家中的电视

一、实验目的

本实验的目的是让学生掌握对象的组合以及参数传递。 二、实验要求

编写一个Java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。集体要求如下:

1)有三个源文件:TV.java、Familiy.java和MainClass.java,其中TV.java中的TV类负责创建“电视”对象,Familiy.java中的Familiy类负责创建“家庭”对象,MainClass.java是主类。

2)在主类的main( )方法中首先使用TV类创建一个对象heierTV,然后使用Familiy类再创建一个对象zhangSanFamiliy,并将先前TV类的实例heierTV的引用传递给zhangSanFamiliy对象的成员变量homeTV。 三、程序源代码 TV.java

class TV {

int channel;

void setChannel (int m){ if(m >= 1){

channel = m; } }

int getChannel ( ) { return channel; }

void showProgram{ switch(channel){

case 1:System.out.println(\综合频道\ break;

case 2:System.out.println(\经济频道\ break;

case 3:System.out.println(\文艺频道\ break;

case 4:System.out.println(\国际频道\ break;

case 5:System.out.println(\体育频道\ break;

default:System.out.println(\不能收看\ \频道\ } } }

Familiy.java

class Familiy{ TV homeTV;

void buyTV(TV tv){

【代码1】//将参数tv赋值给homeTV }

void remoteControl(int m){ homeTV.setChannel(m); }

void seeTV( ){

homeTV.showProgram( ); //homeTV调用showProgram( )方法 } }

MainClass.java

public class MainClass{

public static void main(String args[]){ TV haierTV = new TV();

【代码2】//haierTV调用setChannel(int m ),并向参数m传递5 System.out.println(\的频道是\.getChannel()); Familiy zhangSanFamiliy = new Familiy( );

【代码3】//zhangSanfamiliy 调用buyTV(TV tv)方法,并将haierTV传递给参数TV System.out.println(\开始看电视节目\ zhangSanFamiliy.seeTV( ); int m = 2;

System.out.println(\将电视更换到\ \频道\ zhangSanFamiliy.remoteControl(m);

System.out.println(\的频道是\.getChannel()); System.out.println(\在看电视节目\ zhangSanFamiliy.seeTV( ); } }

四、实验结果

五、教师评语

实验九 求方程的根

一、实验目的

本实验的目的是让学生掌握使用package和import语句。 二、实验要求

按照试验要求使用package语句将方程的属性即计算根的方法封装在一个有包名的类中,包名为com.xingming,类的名字是SquareEquation。编写一个SunRise的主类,该主类使用import语句引入com.xingming包中的SquareEquation类。 三、程序源代码

SquareEquation.java

public class SquareEquation { double a,b,c; double root1,root2; boolean boo;

public SquareEquation(double a,double b,double c){ this.a = a; this.b = b; this.c = c; if(a != 0)

boo = true; else

boo = false; }

public void getRoots( ){ if(boo){

System.out.println(“是一元二次方程”); double disk = b*b - 4*a*c; if(disk >= 0){

root1 = (-b + Math.sqrt(disk))/(2*a); root1 = (-b - Math.sqrt(disk))/(2*a);

System.out.printf(“方程的根:%f,%f\\n”,root1,root2); } else {

System.out.printf(“方程没有实根、\\n”); } } else {

System.out.println(“不是一元二次方程”); } }

public void setCoefficient( double a, double b,double c){

this.a = a; this.b = b; this.c = c; if(a != 0)

boo = true; else

boo = false; } }

SunRise.java

public class SunRise {

public static void main(String args[]){

SquareEquation equation = new SquareEquation{4,5,1}; equation.getRoots( );

equation.setCoefficient{-3,4,5}; equation.getRoots( ); } }

四、实验结果

五、教师评语

本文来源:https://www.bwwdw.com/article/85at.html

Top