网java编程题.doc_第1页
网java编程题.doc_第2页
网java编程题.doc_第3页
网java编程题.doc_第4页
网java编程题.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告 河南财经政法大学计算机与信息工程学院2011 年-20012 年 第一学期专 业: 计算机科学与技术 课程名称:Java程序设计 班 级: 090705 姓 名: 付高阳 学号: 20112070502 指导教师: 魏庆 实验报告实验一:安装与熟悉J2SDK实验目的:1 了解和使用J2sdk1.6.0(JDK)环境。2 熟悉J2sdk集成环境的基本命令、功能和基本用法。并学会配置path 等环境变量3 学习并熟练掌握使用J2SDK环境进行Java程序开发的全过程(包括:源程序的编辑、编译、调试、运行和结果查看)。4 掌握Java应用程序的构成特点实验内容1. J2SDK开发包的安装(可选)2. 查看系统环境变量的配置3. 编写一个JAVA程序,掌握在JDK开发包支持下编译和运行的过程实验数据记录及分析(或程序及运行结果)1. 写出在你的系统中,Java.exe和Javac.exe的安装位置 Java.exe .C:Program FilesJavajdk1.6.0_18bin Javac.exeC:Program FilesJavajdk1.6.0_18bin2. 写出运行Java程序所需的基本系统配置JAVA_HOME= C:Program FilesJavajdk1.6.0_18CLASSPATH= .;C:Program FilesJavajdk1.6.0_18libtools.jar;C:Program FilesJavajdk1.6.0_18libdt.jar;C:Program FilesJavajdk1.6.0_18jrelibrt.jarPATH=%PATH%;%JAVA_HOME%bin2 调试下面程序,指出错误public Class HelloWorldApp public void static main(string args) system.out.println(“Hello World!”);错误1:Class 应写成class错误2:void static顺序写反了,应是static void错误3:string 首字母应大写:String错误4:system首字母要大写;System3写出调试过程1) 编译命令 Javac HelloWorldApp.java2) 运行命令 Java HelloWorldApp3) 修改后的源程序public class HelloWorldApp public static void main(String args) System.out.println(“Hello World!”); 4添加文档注释,用javadoc工具生成html文件,写出添加注释后的源程序文件。/* 一个向控制台输出字符串的应用程序*/public class HelloWorldApp /* main方法是构成Java应用程序执行不可缺少的部分 param args 一个String类型的数组 */ public static void main (String args) System.out.println (Hello World!); /向控制台输出 public class HelloWorldApp public static void main(String args) System.out.println(This is 我的 program! ); 日期: 年 月 日实验二:Eclipse环境 实验目的:1. 掌握Eclipse环境下的Java程序开发过程实验内容1. 熟悉Eclipse开发环境。2. 掌握输出语句。实验数据记录及分析(或程序及运行结果)1. 在Eclispe环境下创建一个项目,添加一个类,完成逐个输出命令行参数的要求。(1) step1:创建项目(2) step2:添加类(含main方法)(3) setp3:源程序(4) setp4:运行参数设置(5) setp5:运行过程 日期: 年 月 日实验三:JAVA语言编程基础实验目的:1. 综合掌握变量、数据类型、表达式以及基本程序结构的应用2. 掌握类的方法定义实验内容1. 掌握变量定义、赋值表达式的应用。2. 掌握移位表达式的应用。3. 掌握控制语句的应用。4. 掌握有关类的方法定义及方法使用的形式。5. 理解变量作用域范围。6. 掌握Scanner类的使用方法。实验数据记录及分析(或程序及运行结果)1. 分析下面的程序,写出运行结果public class Ch22 public static void main(String args) boolean x,y,z; int a=12,b=24; x=(ab); y=(a!=b); z=(a+b=36); System.out.println(x=+x); System.out.println(y=+y); System.out.println(z=+z); 结果: x =false y=true z=true2写出下面程序运行的结果 class Expression public static void main(String args) int a=25, b=20, e=3, f=0;boolean d=ab;System.out.println(a=25,b=20,e=3,f=0);System.out.println(因为关系表达式 a5)System.out.println(因为e 非0 且a/e 为8 大于5,所以输出 a/e +a/e);if (f!=0 & a/f5)System.out.println(a/f = +a/f);elseSystem.out.println(因为f 值为0,所以输出 f = +f);输出结果为:a=25b=20e=3f=0 因为关系表达式 ab 为假,所以其逻辑值为 :false 因为e 非0 且a/e 为8 大于5,所以输出 a/e83假如一个颜色值包含了红黄兰三个分量,每个分量范围在0至256,可以定义一个int类型(4个字节)的变量color,利用它的从低到高连续三个字节分别表示三个颜色分量的值,请编写程序利用移位表达式求出每个颜色的值各是多少。int color=0x00F1AD07,red=0,yellow=0,blue=0;red=color & 0x000000FF;yellow= color & 0x0000FF00;blue= color & 0x00FF0000;biaodashi= 0x000000FF;red=color & biaodashi;yellow= color & (biaodashi8); /0x0000FF00blue= color & (biaodashi16); /0x00FF00004编写程序,读入任一个整数并将其各位数字之和赋给一个整数并输出各位上数字及数字和。import java.util.Scanner;public class SunDemo public static void main(String args)Scanner sc= new Scanner(System.in);System.out.println(请输入四位整数:);int sum=sc.nextInt();int x=sum%10; / 个位 int y=sum%100/10;/十位int z=sum%1000/100;/百位int m=sum/1000;/千位int s=x+y+z+m;/求和sc.close();System.out.println(个位:+x);System.out.println(十位:+y);System.out.println(百位:+z);System.out.println(千位:+m);System.out.println(和:+s);结果:请输入四位整数:1234个位:4十位:3百位:2千位:1和:105编写程序,接受任意从键盘输入的若干整数,请使用冒泡排序算法完成对这些整数排序,并输出排序结果。import java.util.Scanner ;public class arr public static void main(String args)Scanner sc=new Scanner(System.in);int score=new int5;for(int i=0;i0;i-)for(j=0;jscorej+1)temp=scorej;scorej=scorej+1;scorej+1=temp;System.out.println(冒泡排序的结果是:);for(i=0;ilen;i+)System.out.print(scorei+ );结果:请输入第1个整数:1请输入第2个整数:2请输入第3个整数:3请输入第4个整数:5请输入第5个整数:4冒泡排序的结果是:1 2 3 4 56定义一个类,实现方法完成输出素数的要求:按照每行5个,输出n以内的所有素数。(注:n作为方法的参数传入)。根据题目,补充完成下面程序。 class public void listPrime (int n) /添加代码,将生成的n以内的所有素数输出到控制台public class Qiusu public static void main(String args)int m,n;int temp=0;System.out.println(n以内的素数有:);B: for(n=2;n=100;n+)for(m=2;m=n/2;m+)if(n%m=0)continue B;System.out.print(n+ +t);temp+;if(temp%5=0)System.out.println();n以内的素数有:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 public static void main(String args) PrimeNumber =new PrimeNumber(10); 7调试并写出下面程序运行的结果 public class Variable static int i=10;public static void main(String args) int k=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(i=+i);System.out.println(k=+k); 运行结果:k cannot be re solved 调试: int k=10; System.out.println(i=+i);System.out.println(k=+k); 运行结果: i=10 k=10 i=10 k=10 日期: 年 月 日实验四:面向对象编程基础一实验目的:1 掌握类的定义和生成机制2 了解构造函数的作用实验内容1. 简单类的定义。2. 对象创建和使用。3. 使用关联类进行属性的定义。4. 访问控制修饰符的作用。5. 掌握静态属性、方法和初始化器的特点。6. 包的应用实验数据记录及分析(或程序及运行结果)1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类提供计算面积的方法getArea()方法,以及修改width和height的值及获得width和height当前值的方法。要求:(1) 使用构造函数完成各属性的初始赋值(2) 使用getter和setter的形式完成属性的访问及修改public class Rectangle private double width; private double height; private String color; public void Setwidth(double width) this.width=width; public double Getwidth() return this.width; public double getHeight() return this.height;public void setHeight(double height) this.height=height;public String getColor() return this.color;public void setColor(String color) this.color = color; public double Getarea() return this.width*this.height; public Rectangle(double width,double height,String color) super(); this.width=width; this.height=height; this.color=color; public static void main(String args) Rectangle re=new Rectangle(22d,11d,blue); System.out.println(宽是:+re.width); System.out.println(高是:+re.height); System.out.println(颜色:+re.color); System.out.println(面积是:+re.Getarea(); 宽是:22.0高是:11.0颜色:blue面积是:242.02. 一个Fan有自己的品牌和型号,其功能有start,stop,speed,start和stop可以改变Fan的状态status(on/off),speed可以调整Fan的速度(档级在0、1、2、3),请分析并提供Fan类的定义。并编写程序对其进行测试。public class Fan private String band,type; private boolean status=false; static int a=new int0,1,2,3; private int speed=a0; private static int i=0;public String getband() return band;public void setband(String band) this.band = band;public String gettype() return type;public void settype(String type) this.type = type;public void Start()status=true;public void Stop()status=false;i=0;speed=0;public void addSpeed()while(status)while(i0)i-;speed=ai;break;break; public Fan(String band, String type) super();this.band = band;this.type = type; public String toString() return Fan品牌:+band+,型号:+type+,状态:+status+,速度:+speed+; public static void main(String args) Fan f=new Fan(xinfei,021); f.Start(); f.addSpeed(); System.out.println(i); System.out.println(f); f.addSpeed(); System.out.println(i); System.out.println(f); f.addSpeed(); System.out.println(i); System.out.println(f); f.decreaseSpeed(); System.out.println(i); System.out.println(f); f.decreaseSpeed(); System.out.println(i); System.out.println(f); f.Stop(); System.out.println(i); System.out.println(f); 1Fan品牌:xinfei,型号:021,状态:true,速度:12Fan品牌:xinfei,型号:021,状态:true,速度:23Fan品牌:xinfei,型号:021,状态:true,速度:32Fan品牌:xinfei,型号:021,状态:true,速度:21Fan品牌:xinfei,型号:021,状态:true,速度:10Fan品牌:xinfei,型号:021,状态:false,速度:03. 解释下面的程序运行结果输出为什么是null public class My String s; public void My() s = Constructor; public void go() System.out.println(s); public static void main(String args) My m = new My(); m.go(); 因为对象m直接调用了go()方法,而在go()方法中没有对变量s进行初始化,而在My()方法中的s初始化只在此方法中有效,所以在go()方法中的s实际值为null4. 写出程序运行结果class StaticDemo static int x;int y; static x=10;public static int getX() return x;public static void setX(int newX) x = newX;public int getY() return y;public void setY(int newY) y = newY;public static void main(String args) System.out.println(静态变量x=+StaticDemo.getX();System.out.println(实例变量y=+StaticDemo.getY(); /非法,编译时将出错StaticDemo a= new StaticDemo();StaticDemo b= new StaticDemo();a.setX(1);a.setY(2);b.setX(3);b.setY(4);System.out.println(静态变量a.x=+a.getX();System.out.println(实例变量a.y=+a.getY();System.out.println(静态变量b.x=+b.getX();System.out.println(实例变量b.y=+b.getY();运行结果会出错:因为y不是类成员变量,不能用“类名.类方法名”来直接进行静态引用,所以System.out.println(实例变量y=+StaticDemo.getY();会在编译时出错,为保证程序能正常运行,把它注释即可,运行结果为:静态变量x=10静态变量a.x=3实例变量a.y=2静态变量b.x=3静态变量b.y=45. 一个计算机商店销售很多品牌的计算机,每台计算机都应该记录其配置信息,包括处理器、主板、显示器、内存、硬盘等基本设备,每个设备都有自己的品牌、价格、型号信息,请你尝试构造合适的类并利用组合的方法来表示计算机,并为该计算机类添加计算价格(各设备价格之和)、打印配置信息等方法。要求:将定义的类都放在一个包product内。package product; public class Computer String brand;int price;String type;public Computer(String brand,String type,int price)this.brand=brand;this.type=type;this.price=price;public Computer()public void setBrand(String brand)this.brand=brand;public String getBrand()return this.brand;public int getPrice() return price;public void setPrice(int price) this.price = price;public String getType() return type;public void setType(String type) this.type = type;Overridepublic String toString()return ComputerBrand:+brand+,Type:+type+,Price:+price+;public static void main(String args)Computer cpu=new Computer(英特尔,英特尔11,100);Computer mb=new Computer(华硕,华硕11,200);Computer dp=new Computer(三星,三星11,300);Computer ra=new Computer(三星,三星12,400);Computer rd=new Computer(金士顿,金士顿11,500);System.out.println(cpu);System.out.println(mb);System.out.println(dp);System.out.println(ra);System.out.println(rd);int sum=cpu.getPrice()+mb.getPrice()+dp.getPrice()+ra.getPrice()+rd.getPrice();System.out.println(价格之和为:+sum);package product;public class Cpu extends Computerpublic Cpu(String brand,String type,int price)super(brand,type,price);package product;public class Cpu extends Computerpublic Cpu(String brand,String type,int price)super(brand,type,price);package product;public class Display extends Computerpublic Display (String brand,String type,int price)super(brand,type,price);package product;public class Ram extends Computerpublic Ram(String brand,String type,int price)super(brand,type,price); package product;public class RigidDisk extends Computerpublic RigidDisk(String brand,String type,int price)super(brand,type,price); ComputerBrand:英特尔,Type:英特尔11,Price:100ComputerBrand:华硕,Type:华硕11,Price:200ComputerBrand:三星,Type:三星11,Price:300ComputerBrand:三星,Type:三星12,Price:400ComputerBrand:金士顿,Type:金士顿11,Price:500价格之和为:1500 日期: 年 月 日实验五:面向对象编程基础二实验目的:1. 掌握抽象类和抽象方法的特点2. 掌握最终类3. 理解类的继承4. 父类和子类的转化实验内容假定银行的一个存取款系统有两类客户,一类是现金用户,一类是信用卡用户。银行对每个客户都要登记其姓名name,并为之分配一个唯一的账户号码aid,现金用户还要记录其卡的类型(工资卡、借记卡、理财卡),而信用卡用户则根据其信用级别有一定的透支限额lineOfCredit(A级10000元、B级5000元、C级2000元、D级1000元)。每种客户都可以实现存deposit、取withdraw、和查询余额getBalance和交易历史showTransactions(信用卡用户还可以查询透支情况findOverdraw和信用showCredit情况)要求。对于现金用户,每次取款操作只能在账户实际额度balance内操作,允许现金用户改变自己的帐户类型。实验数据记录及分析(或程序及运行结果)1. 分析有哪些属性和方法可以作为两个子类的共同属性和方法,然后写出抽象类Account的定义。两种卡的构造方法方案:1) Account(String name, String aid, String category)Category:Cash, CreditAccount a=new CashAccount(“zhangsan”,”00001”,”Cash”)2) Account(String name, String aid)Aid: Cas0001,Cal0001,Cam0001, Cr000011) CashAccount(String name, String aid, String category)Category: 工资卡、借记卡、理财卡CashAccount caa=new CashAccount(“zhangsan”,”00001”,” 工资卡”)public abstract class Account private String name; private String aid; private String category; private int balance;public Account(String name,String aid,String category,int balance)=name;this.aid=aid;this.category=category;this.balance=balance;public String getName() return name;public void setName(String name) = name;public String getAid() return aid;public void setAid(String aid) this.aid = aid;public String getCategory() return category;public void setCategory(String category) this.category = category;public int getBalance() return balance;public void setBalance(int balance) this.balance = balance;public int withdraw(int amount)int result=0;this.balance-=amount;result=amount;return amount;public int deposit(int amount)int result=0;this.balance+=amount;result=amount;return amount;public int getbalance()return this.balance;public String showTransactions()return Tranction姓名:+name+,账户号:+aid+,业务类型:+category;2. 分析CashAccount有那些新增的属性和方法,定义一个继承于Account的子类CashAccount。public class CashAccount extends Account private int balance;public CashAccount(String name,String aid,String category,int balance)super(name,aid,category,balance);public int withdraw(int amount) int result=0; if(this.getBalance()=amount) this.setBalance(this.getBalance()-amount); result=amount; elseamount=0; return result;public static void main(Stringargs)CashAccount a1=new CashAccount(张三,001,工资卡,500);System.out.println(a1.showTransactions();System.out.println(原有金额:+a1.getBalance()+存入金额:+a1.deposit(100)+现有余额:+a1.getbalance(); 运行结果: Tranction姓名:张三,账户号:001,业务类型:工资卡原有金额:500存入金额:100现有余额:600 3. 你认为信用等级是否可以作为一个类存在,如果是,请定义。Class enum CreditLevel 成员变量;Gold(20000),Silver(10000),Bronze(6000),Iron(3000),Normal(2000),Zero(0);构造public enum CreditLevel Gold(20000),Silver(10000),Bronze(6000),Iron(3000),Normal(2000),Zero(0); privateint lineofCredit;private CreditLevel(int lineOfCredit)this.lineofCredit=lineofCredit;4. 分析CreditAccount有那些新增的属性和方法,然后定义一个继承于Account的子类CreditAccount,添加增加的属性和方法。public class CreditAccount extends Accountprivate String level; private int lineOfCredit; public CreditAccount(String name,String aid,String level,int balance,String category,int lineOfCredit)super(name,aid,category,balance);this.level=level;this.lineOfCredit=lineOfCredit;public String getLevel() return level;public void setLevel(String level) this.level = level;public int getLineOfCredit() return lineOfCredit;public void setLineOfCredit(int lineOfCredit) this.lineOfCredit = lineOfCredit;public int withdraw(int amount) int result=0;if(this.getBalance()+this.getLineOfCredit()=amount)this.setBalance(this.getBalance()-amount);result=amount;elseresult=0;return result;public String showTransactions() return super.showTransactions()+,级别+this.getLevel()+,可透支+this.getLineOfCredit()+,原有金额+this.getBalance();public static void main(String args)CreditAccount a2=new CreditAccount(王五,002,A,2000,信用卡,1000);System.out.println(a2.showTransactions();System.out.println( 取出金额+a2.withdraw(3000)+ 现有余额:+a2.getBalance();运行结果:Tranction姓名:王五,账户号:002,业务类型:信用卡,级别A,可透支1000,原有金额2000 取出金额3000 现有余额:-10005. 请按照要求编写一个程序用你所定义的类完成下列业务操作。(1) 用Account作为类型定义两个变量,分别引用CreditAccount和CashA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论