java-我怎么通过运算符来计算,我是直接调用方法计算的,楞是想不出怎么通过运算符这个属性来搞

问题描述

我怎么通过运算符来计算,我是直接调用方法计算的,楞是想不出怎么通过运算符这个属性来搞

写一个计算器类,包含第一个数字,第二个数字,运算 符三个属性,加减乘除4个方法,计算50X2/4>>2的结果,并判断这个 值是否大于30且小于60,并给出不同的提示.
下面是我写的代码,我没用到运算符这个属性,怎么用到这个属性啊
public class Computer{
public int num1;
public int num2;
public char operator;
//加方法
public float sum(int num1,int num2){
int sum = num1+num2;
return sum;
}
//减方法
public float minus(int num1,int num2){
int minus = num1 - num2;
return minus;
}
//乘方法
public int mul(int num1,int num2){
int mul = num1 * num2;
return mul;
}
//除方法
public int div(int num1,int num2){
int div=0;
if(num2==0)
System.out.println("出错,除数不能为0");
else
{
div = num1/num2;
return div;}
return div;
}
public static void main(String[] args){
Computer result = new Computer();

     int res=result.div(result.mul(50,2),4)>>2;
     System.out.println(res);
     if(res>30&&res<60)
             System.out.println("值大于30且小于60");
     else if(res<=30)
         System.out.println("值小于或等于30");
     else if(res>=60)
         System.out.println("值小于或等于60");
   }

}

解决方案

 增加一个方法
 public float opt(int num1,int num2,char operator){
        switch(operator){
        case '+':
        //调用加的函数
            break;
        case '-':
        //调用加的函数
            break;
        case '*':
        //调用加的函数
            break;
        case '/':
        //调用加的函数
            break;
        }
    }
    调用时result.opt(50,2,'*');

解决方案二:

你的计算方法都是public的了,外部可以直接调用了就不用运算符了,如果你想用的话,就将你的计算法私有化,然后根据传入的运算符来判断具体调用哪个计算方法。上面有大神给出了switch方法来判断,注意的是这个要1.7版本或以上版本的jdk支持。

解决方案三:

C++中的运算符和计算顺序
C# 训练场(二)用运算符重载实现矩阵计算

解决方案四:

public float opt(int num1,int num2,char operator){
switch(operator){
case '+':
//调用加的函数
break;
case '-':
//调用加的函数
break;
case '*':
//调用加的函数
break;
case '/':
//调用加的函数
break;
}
}
调用时result.opt(50,2,'*');

时间: 2024-10-16 06:15:06

java-我怎么通过运算符来计算,我是直接调用方法计算的,楞是想不出怎么通过运算符这个属性来搞的相关文章

java后台有啥好书看,我是学技术流的

问题描述 java后台有啥好书看,我是学技术流的 java后台有啥好书看,我是学技术流的,想多看看书,还有数据库, 解决方案 基本的:重构 改善既有代码的设计,headfirst设计模式 高级的:Java并发编程实践,深入java虚拟机 这些都是最根本的. 有些网站上的文章可以多看看,都很有帮助,比如ifeve.com,上面有不错的文章和译文. 解决方案二: http://bbs.csdn.net/topics/380228140 解决方案三: 想学技术,去学c吧. 解决方案四: Java方面的

5大java数据计算层的解决方法

我们都知道,数据计算层是指介于数据持久层和应用程序层之间,负责计算来自数据持久层的数据,并将计算结果返回应用程序层的层次.而JAVA的数据计算层主要是为了降低应用程序层和数据持久层之间的耦合性,分担它们的计算压力. 因此,它应当符合如下特征: 1. 可以统一的计算来自任意数据持久层的数据,不仅包括数据库,也包括非数据库的Excel/Txt/XML.其中对最常见的结构化数据的计算是重点. 2. 可以统一的进行不同种类数据源之间的相互计算.不仅包括异种数据库之间,也包括数据库和非数据库之间的计算.

java中计算字符串长度的方法及u4E00与u9FBB的认识_java

字符串采用unicode编码的方式时,计算字符串长度的方法找出UNICODE编码中的汉字的代表的范围"\u4E00" 到"\u9FBB"之间,由于一个汉字代表两个字符所以可以采用如下方法进行计算字符串的长度 复制代码 代码如下: public static int getCharLength(String content) { int count = 0; for (int i = 0, len = content.length(); i < len; ++i

javascript避免数字计算精度误差的方法详解

本篇文章主要是对javascript避免数字计算精度误差的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0.2 = 0.3 啊,那还用问吗?连幼儿园的小朋友都会回答这么小儿科的问题了.但是你知道吗,同样的问题放在编程语言中,或许就不是想象中那么简单的事儿了. 不信?我们先来看一段 JS. var numA = 0.1; var numB = 0.2; alert( (numA + numB) === 0.3

《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术

第2章 计算和编程初步 写程序是为了实现所需要的计算,计算中总需要处理数据,因此写程序时必然要涉及数据的描述,以及从数据出发的计算过程描述. 人们在学数学时已经写过许多数学表达式,其中的一些表达式描述的就是从一些数值出发的计算过程,例如下面这个数学表达式: 这一表达式描述的是从一些数值出发,通过三角函数和各种算术运算,要求算出一个结果.复杂的计算需要用计算机完成,因此在用Python(或其他语言)写程序时,也经常需要写这种计算描述.上面数学表达式对应的Python语言描述是: 5.17 + 1.

button-使用java代码如果获取所有的Button,例如childAt()方法?

问题描述 使用java代码如果获取所有的Button,例如childAt()方法? 我根据Button当前的高度,想为所有的Button重新设置背景高度,用下面的方法获取所有的Button对象: for(int i=0;i<layout.getChildCount();i++) { Button b = layout.childAt(i); b.setHeight(x); } 我是想获取所有嵌套布局中的所有Button,但是在一些布局中既有Button又有 textviews.如何能只获取But

Android编程实现根据不同日期计算天数差的方法_Android

本文实例讲述了Android编程实现根据不同日期计算天数差的方法.分享给大家供大家参考,具体如下: Calendar cal1 = getCalendarFromDate(mStartDate); long startTime = cal1.getTimeInMillis(); Calendar cal2 = getCalendarFromDate(mEndDate); long endTime = cal2.getTimeInMillis(); int numberOfDays = (int)

python使用datetime模块计算各种时间间隔的方法

 这篇文章主要介绍了python使用datetime模块计算各种时间间隔的方法,实例分析了Python使用datetime模块进行各种常用的时间操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面的代码就演示了datetime模块在计算时间差时的

python简单实现计算过期时间的方法

  本文实例讲述了python简单实现计算过期时间的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 def time_passed(value): now = datetime.now() past = now - value if past.days: return u'%s天前' % past.days mins = past.seconds / 60 if mins < 60: return u'%s分钟前' % mins hours = mins /