当前位置:首页 » 股票涨停 » java股票涨停计算器

java股票涨停计算器

发布时间: 2021-06-19 09:24:04

Ⅰ Java有一些开源的针对于股票指标计算的包吗

这个问题太广泛了,我的经验是国内没有公开的成熟代码,这种东西一般都是商业秘密(其实是每家公司的计算公式、采样数据设计都有所不同),国外一些大学有公开的数学公式计算包。因为指标计算这个的基础是根据数学模型来实现的。我在04年和05年的时候由于项目的原因,做过根据外汇市场历史报价来评估外汇期权价值的java实现,当时假定的是价格曲线是满足BS模型(black scholes model,常用的还有V.G.模型)来计算的,但是这个模型是理想化的简单模型,建立的基础是:认为长期来看市场价格是对数正态分布的情况。相关BS模型数学算法的java实现的是在外国一个教育网站上找到的(当时google还未墙,用网络查资料是被BS的),当然为达到预期精度我做了部分修改(客户提供了Excel实现的计算器和VB版代码)。

Ⅱ JAVA实现一个标准型计算器,求代码,代码要尽量简单,要附上详细注释,感谢!

http://..com/question/2052310991360401147

Ⅲ 用JAVA编写一个简单计算器界面做出来了。

import sun.plugin.security.Broken11ClassFixer;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
public class Test extends JFrame{
private JTextField t1;
private JTextField t2;
private JTextField t3;
private JButton b1;
public Test(){
JPanel p1=new JPanel();
JPanel p2=new JPanel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT,4,3));
t1 = new JTextField("0",4);
t2 = new JTextField("0",4);
t3 = new JTextField(8);
b1 = new JButton("=");
p1.add(t1);
p1.add(new JTextField(" + "));
p1.add(t2);
p1.add(new JLabel("="));
p1.add(t3);
p2.add(b1,BorderLayout.CENTER);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t3.setText(Integer.toString(Integer.parseInt(t1.getText())+Integer.parseInt(t2.getText())));
}
});
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.SOUTH);
}

public static void main(String[] args){
Test frame=new Test();
frame.setTitle("计算器");
frame.setSize(300,100);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
帮你完善了下,其他来不及写了都是一样的,稍微改一下就行

Ⅳ 用Java编写一个简单的计算器程序

import java.awt.*;
import java.awt.event.*;

public class CalcAppDemo extends Frame{
private TextField t_result;
private Panel p_main; //主面板
private Panel p_num; //数字面板
private Panel p_oper; //操作符面板
private Panel p_show; //显示面板
private Button b_num[]; //数字按钮
private Button b_oper[]; //操作符面板

public CalcAppDemo(String title){
setTitle(title);
t_result = new TextField("0.0", 21);
p_main = new Panel();
p_num = new Panel();
p_oper = new Panel();
p_show = new Panel();
p_main.setLayout(new BorderLayout());
p_num.setLayout(new GridLayout(4, 3, 1, 1));
p_oper.setLayout(new GridLayout(4, 2, 1, 1));

b_num = new Button[12];
for(int i=0; i<9; i++)
{
b_num[i] = new Button(new Integer(i+1).toString());
}
b_num[9] = new Button("0");
b_num[10] = new Button("cls");
b_num[11] = new Button(".");
for(int i=0; i<12; i++)
{
p_num.add(b_num[i]);
}

b_oper = new Button[8];
b_oper[0] = new Button("+");
b_oper[1] = new Button("-");
b_oper[2] = new Button("*");
b_oper[3] = new Button("/");
b_oper[4] = new Button("pow");
b_oper[5] = new Button("sqrt");
b_oper[6] = new Button("+/-");
b_oper[7] = new Button("=");
for(int i=0; i<8; i++) //
{
p_oper.add(b_oper[i]);
}

t_result.setEditable(false);
p_show.add(t_result, BorderLayout.NORTH);
p_main.add(p_show, BorderLayout.NORTH);
p_main.add(p_num, BorderLayout.WEST);
p_main.add(p_oper, BorderLayout.EAST);
this.add(p_main, BorderLayout.CENTER);
setSize(400, 400);
setResizable(false);
pack();

this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
ButtonListener b1 = new ButtonListener();
for(int i=0; i<12; i++)
{
b_num[i].addActionListener(b1);
}
for(int i=0; i<8; i++)
{
b_oper[i].addActionListener(b1);
}
}

class ButtonListener implements ActionListener
{
private String lastOp; //存储上一此操作符
private String strVal; //存储数字对应的字符串
private double total; //总数
private double number; //存储新输入的数
private boolean firsttime; //判断是否第一次按下的是操作符按钮
private boolean operatorPressed;//判断是否已经按过操作符按钮

ButtonListener()
{
firsttime = true;
strVal = "";
}

//事件处理器
public void actionPerformed(ActionEvent e)
{
String s = ((Button)e.getSource()).getLabel().trim();

if(Character.isDigit(s.charAt(0)))
{//判断是操作数还是操作符
handleNumber(s);
}
else
{
calculate(s);
}
}

//判断是一元操作符还是二元操作符,并根据操作符类型做计算
void calculate(String op)
{
operatorPressed = true;

if(firsttime&&! isUnary(op))
{
total = getNumberOnDisplay();
firsttime = false;
}
if(isUnary(op))
{
handleUnaryOp(op);
}
else if(lastOp != null)
{
handleBinaryOp(lastOp);
}
if(! isUnary(op))
{
lastOp = op;
}
}

//判断是否一元操作符
boolean isUnary(String s)
{
return s.equals("=")
||s.equals("cls")||s.equals("sqrt")
||s.equals("+/-")||s.equals(".");
}

//处理一元操作符
void handleUnaryOp(String op)
{
if(op.equals("+/-"))
{//
number = negate(getNumberOnDisplay() + "");
t_result.setText("");
t_result.setText(number + "");
return;
}else if(op.equals("."))
{
handleDecPoint();
return;
}else if(op.equals("sqrt"))
{
number = Math.sqrt(getNumberOnDisplay());
t_result.setText("");
t_result.setText(number + "");
return;
}else if(op.equals("="))
{//
if(lastOp!= null && !isUnary(lastOp))
{
handleBinaryOp(lastOp);
}
lastOp = null;
firsttime = true;
return;
}else
{
clear();
}
}

//处理二元运算符
void handleBinaryOp(String op)
{
if(op.equals("+"))
{
total +=number;
}else if(op.equals("-"))
{
total -=number;
}else if(op.equals("*"))
{
total *=number;
}else if(op.equals("/"))
{
try
{
total /=number;
}catch(ArithmeticException ae){}
}else if(op.equals("pow"))
total = Math.pow(total, number);
//t_result.setText("");
lastOp = null;
// strVal = "";
number = 0;
t_result.setText(total + "");
}

//该方法用于处理数字按钮
void handleNumber(String s)
{
if(!operatorPressed)
{
strVal += s;
}else
{
operatorPressed = false;
strVal = s;
}
//
number = new Double(strVal).doubleValue();
t_result.setText("");
t_result.setText(strVal);
}

//该方法用于按下"."按钮
void handleDecPoint()
{
operatorPressed = false;
//
if(strVal.indexOf(".")<0)
{
strVal += ".";
}
t_result.setText("");
t_result.setText(strVal);
}

//该方法用于将一个数求反
double negate(String s)
{
operatorPressed = false;
//如果是一个整数,去掉小数点后面的0
if(number == (int)number)
{
s = s.substring(0,s.indexOf("."));
}

//如果无"-"增加在该数的前面
if(s.indexOf("-")<0)
{
strVal = "-" + s;
}
else
{
strVal = s.substring(1);
}
return new Double(strVal).doubleValue();
}

//将显示框中的值转换成Double
double getNumberOnDisplay()
{
return new Double(t_result.getText()).doubleValue();
}

//清除屏幕并设置所有的标识
void clear()
{
firsttime = true;
lastOp = null;
strVal = "";
total = 0;
number = 0;
t_result.setText("0");
}
}

public static void main(String[] args) {
CalcAppDemo c = new CalcAppDemo("简单的计算器程序");
c.setVisible(true);
}

}

Ⅳ 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());
}
}

Ⅵ 用java实现一个简单的计算器。

说实在的,你写的这个计算器不怎么样。特别是布局。
我给你一个很简单的吧。你自己学习一下。。

import java.awt.*;
import java.awt.event.*;
/**
*
* @author zzj
*
*/
public class Jisuanqi extends WindowAdapter {
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
TextField txt;
private Button[] b = new Button[17];
private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2",
"3", "*", "清空", "0", "=", "/", "关闭" };
static double a;
static String s, str;//定义变量 创建对像

public static void main(String args[]) {
(new Jisuanqi()).frame();
}

public void frame() {
Frame fm = new Frame("简单计算器");
for (int i = 0; i <= 16; i++) {
b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++) {
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);
txt = new TextField(15);
txt.setEditable(false);
for (int i = 0; i <= 16; i++) {
b[i].addActionListener(new buttonlistener());//添加监听器
}
b[16].addActionListener(new close());
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout());
p1.add(txt, "North");
p2.setLayout(new GridLayout(4, 4));
p3.setLayout(new BorderLayout());
p3.add(b[16]);
fm.add(p1, "North");
fm.add(p2, "Center");
fm.add(p3, "South");
fm.pack();
fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
}

public void windowClosing(WindowEvent e) {
System.exit(0);//退出系统
}

class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e) {
Button btn = (Button) e.getSource();
if (btn.getLabel() == "=") {
jisuan();
str = String.valueOf(a);
txt.setText(str);
s = "";
} else if (btn.getLabel() == "+") {
jisuan();
txt.setText("");
s = "+";
} else if (btn.getLabel() == "-") {
jisuan();
txt.setText("");
s = "-";
} else if (btn.getLabel() == "/") {
jisuan();
txt.setText("");
s = "/";

} else if (btn.getLabel() == "*") {
jisuan();
txt.setText("");
s = "*";
} else {
txt.setText(txt.getText() + btn.getLabel());

if (btn.getLabel() == "清空")
txt.setText("");
}
}

public void jisuan() {//编写具体计算方法
if (s == "+")
a += Double.parseDouble(txt.getText());
else if (s == "-")
a -= Double.parseDouble(txt.getText());
else if (s == "*")
a *= Double.parseDouble(txt.getText());
else if (s == "/")
a /= Double.parseDouble(txt.getText());
else
a = Double.parseDouble(txt.getText());
}
}
}

class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}

Ⅶ 编写一个股票买卖收益计算器

股票收益即股票投资收益,是指企业或个人以购买股票的形式对外投资取得的股利,转让、出售股票取得款项高于股票帐面实际成本的差额,股权投资在被投资单位增加的净资产中所拥有的数额等。
股票收益包括股息收入、资本利得和公积金转增收益。
股票收益率是反映股票收益水平的指标
1,是反映投资者以现行价格购买股票的预期收益水平。它是年现金股利与现行市价之比率。
本期股利收益率=(年现金股利/本期股票价格)*100%
2,股票投资者持有股票的时间有长有短,股票在持有期间获得的收益率为持有期收益率。
持有期收益率=[(出售价格-购买价格)/持有年限+现金股利]/购买价格*100%
3,公司进行拆股必然导致股份增加和股价下降,正是由于拆股后股票价格要进行调整,因而拆股后的持有期收益率也随之发生变化。

Ⅷ java怎样实现计算器的连续运算;如1+2*3/3-4怎样用代码实现

如果只是实现的话,java有现成的函数
如果想自己写的话,我觉得用堆栈吧。

Ⅸ 涨停价的计算法

昨日收盘价+(昨日收盘价×10%)=今日涨停价。小数采用四舍五入,即以昨日收盘价乘以1.1就是今天的涨停价。

涨停价是以早一天的收盘价来算的,即前一天的收盘价加10%,但是是股票交易以分为最小单位,如一支股票昨天收盘价是5.55元,那么今天的涨停就要加上0.555元,四舍五入,要涨0.56元,这时就不是刚好10%。

参考自南方财富网,参考资料

拓展资料:

涨跌停板制度源于国外早期证券市场,是证券市场中为了防止交易价格的暴涨暴跌,抑制过度投机现象。

对每只证券当天价格的涨跌幅度予以适当限制的一种交易制度,即规定交易价格在一个交易日中的最大波动幅度为前一交易日收盘价上下百分之几,超过后停止交易。

Ⅹ 求简单JAVA程序代码,能操作的,简单的计算器有计算功能+-*/就行越简单越好!!!急!!!

public static void main(String[] args) {
String st = "";
计算器 j = new 计算器();

boolean t = true;
while (t) {
System.out.print("请输入计算代码:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
st = br.readLine();
} catch (IOException ex) {
Logger.getLogger(计算器.class.getName()).log(Level.SEVERE, null, ex);
}
if (st.equals("end")) {
t = false;
} else if (!st.equals("")) {
j.处理(st);
}
}
}

public void 处理(String st) {
if (st.indexOf("+") != -1) {
加(符号处理(st, "+"));
} else if (st.indexOf("-") != -1) {
减(符号处理(st, "-"));
} else if (st.indexOf("*") != -1) {
乘(符号处理(st, "*"));
} else if (st.indexOf("/") != -1) {
除(符号处理(st, "/"));
}
}

public int[] 符号处理(String st, String s) {
int[] i = new int[2];
i[0] = Integer.parseInt(st.substring(0, st.indexOf(s)));
i[1] = Integer.parseInt(st.substring(st.indexOf(s) + 1));
return i;
}

public void 加(int x[]) {
System.out.println(x[0] + "+" + x[1] + "=" + (x[0] + x[1]));
}

public void 减(int[] x) {
System.out.println(x[0] + "-" + x[1] + "=" + (x[0] - x[1]));
}

public void 乘(int[] x) {
System.out.println(x[0] + "*" + x[1] + "=" + x[0] * x[1]);
}

public void 除(int x[]) {
if (x[1] == 0) {
System.out.print("除数不能为零");
return;
}
System.out.println(x[0] + "/" + x[1] + "=" + x[0] / x[1]);
}
可以运行:输入示例:55+62

热点内容
酒股市值为什么大 发布:2025-06-15 07:10:00 浏览:642
金融股占了多少市值 发布:2025-06-15 06:50:04 浏览:882
基金收益30是多少钱 发布:2025-06-15 06:41:33 浏览:882
科创配售基金怎么收益 发布:2025-06-15 06:39:57 浏览:452
股市是怎么涨到每股上千的单价 发布:2025-06-15 06:35:33 浏览:586
期货如何找到投资人 发布:2025-06-15 06:31:18 浏览:622
期货空档期如何写 发布:2025-06-15 06:24:50 浏览:37
做金融贷款的拿下一单有多少钱 发布:2025-06-15 06:23:28 浏览:391
股市1000盘口语言代表什么意思 发布:2025-06-15 05:43:00 浏览:373
股市里租购同权什么意思 发布:2025-06-15 05:42:56 浏览:685