java面向对象编程题 java面向对象pdf
其实java面向对象编程题的问题并不复杂,但是又很多的朋友都不太了解java面向对象pdf,因此呢,今天小编就来为大家分享java面向对象编程题的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Java面向对象,编程题,谢谢!
第一种:
publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("第一个数:");
inta=scn.nextInt();
System.out.print("操作(+,-,*,/):");
Stringoption=scn.next();
System.out.print("第二个数:");
intb=scn.nextInt();
intresult=0;
if("+".equals(option)){
result=a+b;
}
if("-".equals(option)){
result=a-b;
}
if("*".equals(option)){
result=a*b;
}
if("/".equals(option)){
result=a/b;
}
System.out.println("结果:"+result);
}第二种:
publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("请输入第一个数:");
intoNumFirst=scn.nextInt();
System.out.print("请输入操作方式(+,-,*,/):");
Stringoption=scn.next();
System.out.print("请输入第二个数:");
intoNumSecond=scn.nextInt();
intresult=0;
switch(option){
case"+":
result=oNumFirst+oNumSecond;
break;
case"-":
result=oNumFirst-oNumSecond;
break;
case"*":
result=oNumFirst*oNumSecond;
break;
case"/":
try{
result=oNumFirst/oNumSecond;
}catch(ArithmeticExceptione){
e.printStackTrace();
System.out.println("除数不能为0");
}
break;
}
System.out.println("结果为:"+result);
}第三种:
/**
*计算器类
*CreatedbyHDLon2016/11/30.
*/
publicclassOptioner{
privateintoNumFirst;//第一个数
privateintoNumSecond;//第二个数
publicintgetoNumFirst(){
returnoNumFirst;
}
publicvoidsetoNumFirst(intoNumFirst){
this.oNumFirst=oNumFirst;
}
publicintgetoNumSecond(){
returnoNumSecond;
}
publicvoidsetoNumSecond(intoNumSecond){
this.oNumSecond=oNumSecond;
}
publicOptioner(){
}
publicOptioner(intoNumFirst,intoNumSecond){
this.oNumFirst=oNumFirst;
this.oNumSecond=oNumSecond;
}
publicintgetReuslt(){
return0;
}
}12345678910111213141516171819202122232425262728291234567891011121314151617181920212223242526272829
/**
*加法运算
*CreatedbyHDLon2016/11/30.
*/
publicclassAddOptionerextendsOptioner{
@Override
publicintgetReuslt(){
returngetoNumFirst()+getoNumSecond();
}
}
/**
*减法运算
*CreatedbyHDLon2016/11/30.
*/
publicclassSubOptionerextendsOptioner{
@Override
publicintgetReuslt(){
returngetoNumFirst()-getoNumSecond();
}
}
/**
*乘法运算
*CreatedbyHDLon2016/11/30.
*/
publicclassMulOptionerextendsOptioner{
@Override
publicintgetReuslt(){
returngetoNumFirst()*getoNumSecond();
}
}
/**
*除法运算
*CreatedbyHDLon2016/11/30.
*/
publicclassDivOptionerextendsOptioner{
@Override
publicintgetReuslt(){
if(getoNumSecond()==0){
System.out.println("除数不能为0");
return-1;
}else{
returngetoNumFirst()/getoNumSecond();
}
}
}测试
publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("请输入第一个数:");
intoNumFirst=scn.nextInt();
System.out.print("请输入操作方式(+,-,*,/):");
Stringopt=scn.next();
System.out.print("请输入第二个数:");
intoNumSecond=scn.nextInt();
Optioneroptioner=null;
switch(opt){
case"+":
optioner=newAddOptioner();
break;
case"-":
optioner=newSubOptioner();
break;
case"*":
optioner=newMulOptioner();
break;
case"/":
optioner=newDivOptioner();
break;
}
optioner.setoNumFirst(oNumFirst);
optioner.setoNumSecond(oNumSecond);
System.out.println("结果为:"+optioner.getReuslt());
}
java面向对象编程题目。要求用抽象类和接口
//abstract Shape形状类
publicabstractclassShape{
abstractdouble area();
abstractdouble perimeter();
}
//Rectangle继承Shape类
publicclassRectangleextendsShape{
private double width;
publicdoublegetWidth(){
returnwidth;
}
publicvoidsetWidth(doublewidth){
this.width=width;
}
publicdoublegetHeight(){
returnheight;
}
publicvoidsetHeight(doubleheight){
this.height=height;
}
private double height;
Rectangle(){
}
Rectangle(double width,double height){
this.width=width;
this.height=height;
}
public double area(){
return width*height;
}
public double perimeter(){
return(width+height)*2;
}
}
//Circle类继承抽象类Shape
publicclassCircleextendsShape{
private final double PI=3.14;
private double radius;
Circle(){
}
Circle(double radius){
this.radius=radius;
}
publicdoublegetRadius(){
returnradius;
}
publicvoidsetRadius(doubleradius){
this.radius=radius;
}
public doublearea(){
returnradius*radius*PI;
}
public doubleperimeter(){
returnradius*2*PI;
}
}
/Triangle类继承抽象类Shape
publicclassTriangleextendsShape{
private double di;
private double high;
Triangle(){
}
Triangle(double di,double high){
this.di=di;
this.high=high;
}
publicdoublegetDi(){
returndi;
}
publicvoidsetDi(doubledi){
this.di=di;
}
publicdoublegetHigh(){
returnhigh;
}
publicvoidsetHigh(doublehigh){
this.high=high;
}
public doublearea(){
return di*high*1/2;
}
public doubleperimeter(){
return di*3;//限等边三角形
}
}
//定义接口Shape
public interfaceShape{
publicdouble area();
publicdouble perimeter();
}
//Rectangle类实现接口Shape
publicclassRectangleimplementsShape{
private double width;
publicdoublegetWidth(){
returnwidth;
}
publicvoidsetWidth(doublewidth){
this.width=width;
}
publicdoublegetHeight(){
returnheight;
}
publicvoidsetHeight(doubleheight){
this.height=height;
}
private double height;
Rectangle(){
}
Rectangle(double width,double height){
this.width=width;
this.height=height;
}
public double area(){
return width*height;
}
public double perimeter(){
return(width+height)*2;
}
}
//Circle类实现接口Shape
publicclassCircleimplementsShape{
private final double PI=3.14;
private double radius;
Circle(){
}
Circle(double radius){
this.radius=radius;
}
publicdoublegetRadius(){
returnradius;
}
publicvoidsetRadius(doubleradius){
this.radius=radius;
}
public doublearea(){
returnradius*radius*PI;
}
public doubleperimeter(){
returnradius*2*PI;
}
}
//Triangle类实现接口Shape
publicclassTriangleimplementsShape{
private double di;
private double high;
Triangle(){
}
Triangle(double di,double high){
this.di=di;
this.high=high;
}
publicdoublegetDi(){
returndi;
}
publicvoidsetDi(doubledi){
this.di=di;
}
publicdoublegetHigh(){
returnhigh;
}
publicvoidsetHigh(doublehigh){
this.high=high;
}
public doublearea(){
return di*high*1/2;
}
public doubleperimeter(){
return di*3;//限等边三角形
}
}
//测试类ShapeTest
publicclassShapeTest{
publicstaticvoidmain(String[]args){
Circlec1=newCircle(3);//圆类有参初始化
Circlec2=newCircle();//圆类无参初始化
c2.setRadius(3);//初始化c2的半径
Squares1=newSquare(3);//方形类有参初始化
Squares2=newSquare();//方形类无参初始化
s2.setSide(5);//初始化s2的边长
Trianglet1=newTriangle(5,6);//三角类有参初始化
Trianglet2=newTriangle();//三角类无参初始化
t2.setDi(2);//初始化t2的底
t2.setHigh(6);//初始化t2的高
print("c1的面积:"+c1.area()+"\tc2的面积"+c2.area());
print("c1的周长:"+c1.perimeter()+"\tc2的周长"+c2.perimeter());
print("s1的面积:"+s1.area()+"\ts2的面积"+s2.area());
print("s1的周长:"+s1.perimeter()+"\ts2的周长"+s2.perimeter());
print("t1的面积:"+t1.area()+"\tt2的面积"+t2.area());
print("t1的周长:"+t1.perimeter()+"\tt2的周长"+t2.perimeter());
}
//定义静态打印方法
public static void print(Object object){
System.out.println(object);
}
}
//打印结果
c1的面积:28.26 c2的面积28.26
c1的周长:18.84 c2的周长18.84
s1的面积:9.0 s2的面积25.0
s1的周长:12.0 s2的周长20.0
t1的面积:15.0 t2的面积6.0
t1的周长:15.0 t2的周长6.0
JAVA编程题目
从面向对象的角度分析,下列四组事物中,哪一组属于类—对象模式?(D)
下列哪一个不属于面向对象语言的重要特性(C)
Java application中的主类需包含main方法,main方法的返回类型是什么?(D)
在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C)。
以下代码段执行后的输出结果为(C)
编译运行以下程序后,关于输出结果的说明正确的是(B)
关于java面向对象编程题,java面向对象pdf的介绍到此结束,希望对大家有所帮助。