基本JAVA实验题及代码
java代码
*^__^*
JAVA*^__^*
一、熟悉Java编译器、Java解释器和Java反编译工具的使用方法
1.编写一个计算器类,要求实现加、减、乘、除运算,注意在进行除法运算时,如果除数为0,那么就直接输出Error来 下面代码为判断是否为数字,如果是数字,那么返回是true,否则返回false,在使用下面代码前,要在程序头导入包:import java.util.regex.*;
public static boolean isNumeric(String str) { Pattern pattern = http://www.77cn.com.cnpile("[0-9]*"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ) { return false; } return true; }
2.要求用户通过命令行去执行程序,执行的时候以参数的形式输入两个操作数和一个操作法,例如第一步编译成功后的名称为MyCal.class,那么在命令行执行MyCal 10 + 15 ,那么就计算打印出10加15的结果,打印结果:输出:10+15=25。
3.要求用户在执行的时候必须要输入三个参数,如果参数不够,那么提示用户输入三个参数,然后退出。另外要判断用户输入的参数是否是数字,如果不是,那么也提示,然后直接退出。
二、熟悉Eclipse编写Java程序熟悉,Java中变量的定义和使用,Java中的程序结构 1、编写Java程序,要求在运行的时候输入一个数字,表示行数,程序计算出相应行数的杨辉三角数据,并在屏幕上显示出来。
(1)、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。 (2)、第n行的数字个数为n个。 (3)、第n行数字和为2n 1。
(4)、每个数字等于上一行的左右两个数字之和。
(5)、将第2n+1行第1个数,跟第2n+2行第3个数、第2n+2行第5个数 连成
一线,这些数的和是第2n个斐波那契数。将第2n行第2个数,跟第2n+1行第4个数、第2n+2行第6个数 这些数之和是第2n-1个斐波那契数。
(6)、第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×n×(n-1)/2,
第四个数为1×n×(n-1)/2×(n-2)/3 依此类推。
通过main方法中的args获取用户附带的参数,例如用户输入app 10 (注意
参数间有空格),那么args对应的值为:args[0]=10,然后通过Integer.parseInt(args[0]),即可得到int类型的数据。
代码如下:
import java.util.*; public class Yhsj { private int rows; public int getRows(){ return rows;
java代码
public void steRows(int rows) {
this.rows=rows; }
public Yhsj(int rows) {
this.rows=rows; }
static void show(int Row) {
int a[][]=new int[Row+1][]; for(int i=0;i<=Row;i++) {
a[i]=new int[i+1]; }
for(int i=0;i<=Row;i++) {
for(int j=0;j<=a[i].length-1;j++) {
if(i==0||j==0||j==a[i].length-1) a[i][j]=1; else
a[i][j]=a[i-1][j-1]+a[i-1][j]; } }
for(int i=0;i<=Row;i++) {
for(int k=i;k<Row;k++) System.out.print(" ");
for(int j=0;j<=a[i].length-1;j++) {
System.out.print(a[i][j]+" "); }
System.out.println(); } }
public static void main(String[] args) { int LN=0;
System.out.println("输入要打印的行数:"); Scanner sc = new Scanner(System.in); LN = sc.nextInt();
Yhsj aming=new Yhsj(LN); show(aming.getRows()-1);
java代码
}
运行结果:
此作用只是证明它有运行结果,所以小小的,呵呵。。。
三、熟悉Eclipse编写Java程序,Java中程序的结构,类的声明和定义,
掌握面向对象的基本思想,抽象对象并定义类,类的继承结构,理解并能熟练运用类的多态性,抽象类和接口及它们的区别,理解并熟练运用抽象类和接口解决耦合问题。 1、构造一个抽象类Shape,它有两个抽象的方法area()和perimeter(),分别表示求面积和周长,此外,它还有一个具体方法message(),能输出类的一些信息。
public abstract class Shape {
public abstract void area(); public void message(){ } }
//创建抽象类 //创建抽象方法
//创建具体方法
public abstract void perimeter(); //创建抽象方法
System.out.print("OY");
2、定义一个接口Graph,它有一个抽象的方法draw(),表示绘制Shape。
public interface Graph {
}
//创建接口
public abstract void draw(); //创建抽象方法
3、构造Shape的两个子类Circle和Rectangle,分别表示圆和矩形,并且实现接口Graph。
//创建Circle类,继承Shape类,并实现接口Graph
public class Circle extends Shape implements Graph { }
//创建Rectangle类,继承Shape类,并实现接口Graph public class Rectangle extends Shape implements Graph{
// 重写抽象类的抽象方法 public void area() { // 重写抽象类的抽象方法 public void area() { }
// 重写抽象类的抽象方法 public void perimeter() { }
// 重写接口的抽象方法 public void draw(){ };
java代码
}
// TODO Auto-generated method stub
// 重写抽象类的抽象方法 public void perimeter() { }
// 重写接口的抽象方法 public void draw(){ }; }
// TODO Auto-generated method stub
4、构造测试类Test,其有方法getShapeData(Shape s),它输出s的面积和周长,构造矩形实例和圆实例,体会area方法和perimeter方法的多态性。
public class Test { }
}
public static void main(String[] args) { }
s.area(); s.perimeter();
//创建Test类 //创建 方法
public static void getShapeData(Shape s){
getShapeData(new Circle());
getShapeData(new Rectangle());
//抽象类的多态 //抽象类的多态
5、类似上题,为Test添加方法drawGraph(Graph g),它“画出”Graph的图形----调用draw方法,构造矩形实例和圆实例,体会draw方法的多态性。
public class Test {
public void drawGraph(Graph g){ }
public static void main(String[] args) { } }
总结:
1、根据自己对实验的理解,说明一下在本实验中,抽象类Shape的作用是什么?
产生子类的同时给于子类一些特定的属性和方法 2、 分析说明抽象类和接口的异同?
抽象类可以给出一些成员的实现,接口却不包含成员的实现,抽象类的抽象成员可以被子类部分实现,接口的成员需要实现类完全实现,一个类只能继承一个抽象类,但可以实现多个接口。
1. 类是对对象的抽象;抽象是对类的抽象;接口是对行为的抽象。
//创建Test类
//创建 方法
g.draw();
Test t=new Test();
t.drawGraph(new Circle());
//接口的多态
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




