
正文
java实现复化求积代码的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java实现加减乘除的代码,对运算方法进行抽象,继承及重载,急求,万分感谢
先要定义一个借口,里面包含加减乘除这些方法,然后写一个类,在类里面把详细方法都要实现了。至于继承重载,再写一个另外一个类继承它就好,重写里面的方法。还是上一下代码吧
接口:CalculateInterface
public interface CalculateInterface {
public float add(float a, float b);
public float sub(float a, float b);
public float mul(float a, float b);
public float div(float a, float b);
}
类CalculateClass
public class CalculateClass implements CalculateInterface {
/* 加法,返回a+b之和 */
public float add(float a, float b) {
return a + b;
}
/* 减法,返回a-b */
@Override
public float sub(float a, float b) {
return a - b;
}
/* 乘法,返a*b */
@Override
public float mul(float a, float b) {
return a * b;
}
/* 除法,返回a/b */
@Override
public float div(float a, float b) {
if (b == 0) {
System.out.println("除数不能为0");
System.exit(0);
}
return a / b;
}
}
相关问答
Q1: JAVA文本框求积
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class JiSuanqi3 extends JFrame {
private JButton buttonUp;// 加
private JButton buttonDown;// 减
private JButton buttonRide;// 乘
private JButton buttonExcept;// 除
private JTextField number1;// 第一个数
private JTextField number2;// 第二个数
private JTextField numberResult;// 结果
private JLabel labelSign = null;// 运算符号
private JLabel labelEqualSign = null;// 等号
public JiSuanqi3() {
super("计算Demo");
// 屏幕大小
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
// 大小并定位
setBounds((d.width - 500) / 2, (d.height - 500) / 2, 500, 500);
setLayout(null);// 布局
ButtonActionListener listener = new ButtonActionListener();// 按钮监听
// 初始化按钮
buttonUp = getButton("加", 1, 0, 70, 25);
buttonDown = getButton("减", 80, 0, 70, 25);
buttonRide = getButton("乘", 160, 0, 70, 25);
buttonExcept = getButton("除", 240, 0, 70, 25);
// 添加按钮监听
buttonUp.addActionListener(listener);
buttonDown.addActionListener(listener);
buttonRide.addActionListener(listener);
buttonExcept.addActionListener(listener);
// 添加到JFrame中
add(buttonUp);
add(buttonDown);
add(buttonRide);
add(buttonExcept);
// 初始化符号标签
labelSign = getLabel("", 97, 38, 8, 25);
labelEqualSign = getLabel("=", 205, 38, 8, 25);
// 添加到JFrame中
add(labelSign);
add(labelEqualSign);
// 初始化文本框
number1 = getTextField(1, 35, 90, 25);
number2 = getTextField(110, 35, 90, 25);
numberResult = getTextField(220, 35, 90, 25);
// 添加到JFrame中
add(number1);
add(number2);
add(numberResult);
setVisible(true);// 设窗口为可见
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭方式
}
public static void main(String[] args) {
new JiSuanqi3();
}
/**
* 获得按钮实例
*
* @param text
* @param x 左上角x坐标
* @param y 左上角y坐标
* @param width 组件宽
* @param height 组件高
* @return
*/
private JButton getButton(String text, int x, int y, int width, int height) {
JButton button = new JButton(text);
button.setBounds(x, y, width, height);// 定位
return button;
}
/**
* 获得标签实例
*
* @param text
* @param x
* @param y
* @param width
* @param height
* @return
*/
private JLabel getLabel(String text, int x, int y, int width, int height) {
JLabel label = new JLabel(text);
label.setBounds(x, y, width, height);
return label;
}
/**
* 获得文本框实例
*
* @param x
* @param y
* @param width
* @param height
* @return
*/
private JTextField getTextField(int x, int y, int width, int height) {
JTextField jt = new JTextField();
jt.setBounds(x, y, width, height);
return jt;
}
/**
* 字符串转为double型数据
*
* @param s
* @return
* @throws Exception
*/
public double getStringToDouble(String s) throws Exception {
double d = 0;
d = Double.parseDouble(s);
return d;
}
class ButtonActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String sign = null;// 符号
String result = null;// 结果
double dNumber1 = 0;
double dNumber2 = 0;
try {
if(!number1.getText().matches("\\s*")){
dNumber1 = getStringToDouble(number1.getText());// 取第一个数
}else{
number1.setText("请输入数据");
return;
}
} catch (Exception ex) {
ex.printStackTrace();
number1.setText("数据有误");
return;
}
try {
if(!number2.getText().matches("\\s*")){
dNumber2 = getStringToDouble(number2.getText());// 取第二个数
}else{
number2.setText("请输入数据");
return;
}
} catch (Exception ex) {
// ex.printStackTrace();
number2.setText("数据有误");
return;
}
if (e.getSource() == buttonUp) {
sign = "+";
result = String.valueOf(dNumber1 + dNumber2);
} else if (e.getSource() == buttonDown) {
sign = "-";
result = String.valueOf(dNumber1 - dNumber2);
} else if (e.getSource() == buttonRide) {
sign = "*";
result = String.valueOf(dNumber1 * dNumber2);
} else if (e.getSource() == buttonExcept) {
sign = "/";
if (dNumber2 != 0) {
System.out.println(dNumber2);
result = String.valueOf(dNumber1 / dNumber2);
} else {
result = "0不能为除数";
}
}
labelSign.setText(sign);
numberResult.setText(result);
}
}
}
Q2: 求一份用复化柯特斯求积公式求积分的c程序代码,谢谢!
fun=@(x)3*log(x); a=1; b=2; epsilon=1e-5; n=1; h=(b-a)/2; y0=h*(feval(fun,a)+feval(fun,b)); yiter=y0; while 1 f=sum(feval(fun,a+(1:2:2*n-1)*h)); y=y0/2+h*f; if abs(y-y0)3*epsilon break; end n=n+n; h=h/2; y0=y; yiter=[yiter,y0]; end y %%与真值误差 double(int('3*log(x)','x',1,2)-y)
Q3: 用JAVA实现复数的混合运算的源程序
public class Complex
{
private double realPart;
private double imaginaryPart;
public Complex(double a, double b)
{
this.realPart = a;
this.imaginaryPart = b;
}
public Complex add(Complex a)
{
Complex result = new Complex(this.realPart + a.realPart, this.imaginaryPart + a.imaginaryPart);//(why?)
return result;
}
public Complex decrease(Complex a)
{
Complex result = new Complex(this.realPart - a.realPart, this.imaginaryPart - a.imaginaryPart);//(why?)
return result;
}
public Complex multiply(Complex a)
{
double newReal = this.realPart*a.realPart - this.imaginaryPart * a.imaginaryPart;
double newImaginary = this.realPart*a.imaginaryPart + this.imaginaryPart * a.realPart;
Complex result = new Complex(newReal, newImaginary);
return result;
}
public Complex divide(Complex a)
{
Complex conjugate = new Complex(this.realPart, -this.imaginaryPart);
Complex multiplication = conjugate.multiply(a);
multiplication.realPart /= this.realPart*this.realPart + this.imaginaryPart * this.imaginaryPart;
multiplication.imaginaryPart /= this.realPart*this.realPart + this.imaginaryPart * this.imaginaryPart;
return multiplication;
}
public String toString()
{
String show = this.realPart + " + " + this.imaginaryPart + "i";
return show;
}
public static void main(String [] args)
{
Complex a = new Complex (2, 3);
Complex b = new Complex (1,1);
System.out.println((a.add(b)).toString());
System.out.println((a.decrease(b)).toString());
System.out.println((a.multiply(b)).toString());
System.out.println((a.divide(b)).toString());
}
}
Q4: JAVA用代码实现计算1*2*3*…….8*9的积的方法?
21题:
int total = 1;
for (int i = 1; i 10; i++) {
total = total * i;
}
22题:
int array[] = new int[]{0, 1, 2, 3};
23题:
if (i 3) {
System.out.println(i);
} else {
System.out.println(3);
}
您好!上面是我写的回答,请确认。
Q5: java编程,用代码实现计算器类(Calculator)
public class Calculator {
private int number1;
private int number2;
public Calculator(int number1, int number2) {
this.number1 = number1;
this.number2 = number2;
}
public double add() {
return number1 + number2;
}
public double subtract() {
return number1 - number2;
}
public double multiple() {
return number1 * number2;
}
public double divide() {
if(number2 == 0) {
return 0;
}
return number1 / number2;
}
}
public class TestCalculator {
public static void main(String[] args) {
Calculator calculator = new Calculator(5, 2);
System.out.println(calculator.add());
System.out.println(calculator.subtract());
System.out.println(calculator.multiple());
System.out.println(calculator.divide());
}
}







