/*
定义一个计算器类,要求实现加减乘除操作。
/
import java.util.;
public class HomeWork_1110_02
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数的值:");
double a=sc.nextInt(); //从控制台接收第一个数字
System.out.println("请输入第二个数的值:");
double b=sc.nextInt(); //从控制台接收第二个数字
String s1="+"; //定义运算符号
String s2="-";
String s3="*";
String s4="/";
System.out.println("请选择一种运算:+, -, *, /");
String s=sc.next(); //从控制台接收运算符号
Jisuanqi js=new Jisuanqi(); //实例化一个对象
if(s.equals(s1)) //判断输入的运算符号,根据接收的运算符号进行运算 ,加运算
{
double result=js.add(a,b); //调用加法运算
System.out.println(result);
}
else if(s.equals(s2)) //减运算
{
double result=js.jian(a,b); //调用减法运算
System.out.println(result);
}
else if(s.equals(s3)) //乘法运算
{
if(a==0 || b==0) //判断输入的数字是否有0
{
System.out.println("0");
}
double result=js.cheng(a,b); //调用乘法运算
System.out.println(result);
}
else if(s.equals(s4)) //除法运算
{
if(b==0) //判断除数是否为0
{
System.out.println("除数不能为0,请重新输入!");
}
double result=js.chu(a,b); //调用除法运算
System.out.println(result);
}
else
{
System.out.println("您选择的运算方式不在范围内,请重新选择!");
}
}
}
class Jisuanqi //创建一个计算器类
{
//double number;
double add(double a,double b) //创建加法运算
{
double c=a+b;
return c;
}
double jian(double a,double b)//创建减法运算
{
double c=a-b;
return c;
}
double cheng(double a,double b)//创建乘法运算
{
double c=a*b;
return c;
}
double chu(double a,double b)//创建除法运算
{
double c=a/b;
return c;
}
}
有错误就用断点调试,呵呵呵
首先,从控制台读取数据并转换为double,那么你就要考虑使用者是否老老实实地给你输入数字了,如果我的输入不是数字怎么办?程序肯定报错了,这时你就需要去处理这个 Exception。
System.out.println("请输入第一个数的值:");
double a = 0;
try {
// 从控制台接收第一个数字
a = sc.nextInt();
} catch (Exception e) {
// 出错后的操作
// .........
}
而且代码结构上需要再改改,main() 方法中一般就不要有具体的逻辑代码了,把 main() 中的逻辑代码抽出来独立成一个方法,然后在 main() 中再去调用这个方法,最明显的便是你对于 +、-、*、/ 运算符的判断了,遇到这种情况就不要使用一大堆的 if...else...了,太臃肿了,而且效率也不高,建议用 switch 语句进行判断,不仅高效、而且也提高了代码的可读性。
如果可以,把你的jisuanqi这个类做成接口,具体要怎样实现计算,你再另外写实现类。
最后,方法命名注意规范,add、jian、cheng、chu 这样中西合璧的还是不要了吧。