Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 945|回复: 0

≠帮我看一下这個空指向问题 】

[复制链接]

该用户从未签到

发表于 2011-10-31 09:48:15 | 显示全部楼层 |阅读模式
public class Calcuation
{

public double NumberA;
public double NumberB;

public double getNumberA()
{

return NumberA;
}
public void setNumberA(double numberA)
{
NumberA = numberA;
}
public double getNumberB()
{
return NumberB;
}
public void setNumberB(double numberB)
{
NumberB = numberB;
}
public double result()
{
return 0;
}

}
class Add extends Calcuation
{

public double result()
{

return getNumberA() + getNumberB();
}
}
class Subtract extends Calcuation
{

public double result()
{
return getNumberA() - getNumberB();
}
}
class Multiply extends Calcuation
{

public double result()
{
return getNumberA() * getNumberB();
}
}

class Divide extends Calcuation
{

public double result()
{
if (getNumberB() == 0)
{
try
{
throw new Exception("Divisor can't for 0");
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}

return getNumberA() / getNumberB();

}
}


public class FactoryModer
{
static char a;
public static Calcuation createObject(String operator)
{
Calcuation calcuation = null;

a = operator.charAt(0);

switch (a)
{
case '+':
calcuation = new Add();
break;
case '-':
calcuation = new Subtract();
break;
case '*':
calcuation = new Multiply();
break;
case '/':
calcuation = new Divide();
break;
}
return calcuation;

}
}


import java.util.Scanner;

public class Operator
{
static double resultNumber = 0;
static double num1;
static double num2;
static String operatorString;

public static void main(String[] args)
{
paint();
}

public static void paint()
{
Scanner scanner = new Scanner(System.in);

System.out.println("please input oen number:");
num1 = scanner.nextDouble();

System.out.println("please input a operator:");
operatorString = scanner.next();

System.out.println("please input two number:");
num2 = scanner.nextDouble();

Calcuation calcuation = null;

calcuation.NumberA = num1;

calcuation.NumberB = num2;

calcuation = FactoryModer.cr2eateObject(operatorString);

resultNumber = calcuation.result();

System.out.println(resultNumber);
}

}




欢迎来到Java学习者论坛,zhuan载请注明地址:http://www.javaxxz.com.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-2 22:35 , Processed in 0.355924 second(s), 38 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表