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( ); } }
四、实验结果
五、教师评语
正在阅读:
JAVA实验12-05
信号与系统试题库10-23
全国100所名校2018年最新高考模拟示范卷(三)生物试题含答案09-11
(完整版)初一英语阅读试题及答案(可编辑修改word版)04-30
CHX-I防火墙官方教程-附带翻译11-27
军训总结800字精选5篇04-10
春节的由来作文400字06-18
专题讲座 doc语文05-14
新教材人教版高中英语选择性必修第一册Unit 4 Body Language重点04-11
JavaScript验证表单02-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- JAVA
- 关于成立质量管理小组的通知
- 备战2016年中考物理专项训练:压力及重力与压力的区别(word版,含解析)
- 蔗糖铁与力蜚能联合重组人红细胞生成素治疗肾性贫血疗效观察
- 预备党员培养教育考察登记表填写说明(王晴澜--)
- MiniGUI3.0.12绝对正确安装
- 2018小学数学教师个人工作总结(2)
- 优秀团支部申报材料 - 图文
- 辽宁省突发环境事件应急预案
- 重庆市巴蜀中学初一年级上英语半期考试
- 固定资产无形资产管理制度
- 如何打造初中体育高效课堂
- 城市停车规划设计规范
- 高考物理二轮复习专题训练:电学专题一新人教版-试卷及答案解析
- 《旅游学概论》模拟试题(八)参考答案
- 银监会叫停小贷公司信托融资
- 部分工厂供电小习题答案
- 美术概论
- 2019-2020年七年级数学下册《提公因式法》同步练习1 冀教版
- 2017-2018年最新语文S版 小学五年级语文上册全册教案第一学期全套教学设计(含教学计划 进度表 教学反思)
- 激素剂量换算