當前位置:首頁 » 股票漲停 » 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

熱點內容
股權登記日t1日是什麼意思 發布:2025-06-15 15:39:12 瀏覽:847
什麼職能產生信用貨幣 發布:2025-06-15 14:14:52 瀏覽:569
現金流對股票價值的影響 發布:2025-06-15 13:53:10 瀏覽:759
美國股市期權多少錢一張 發布:2025-06-15 13:17:11 瀏覽:858
金王科技股票 發布:2025-06-15 13:02:48 瀏覽:574
為什麼現在抖音都是虛擬貨幣視頻 發布:2025-06-15 12:48:55 瀏覽:500
農銀的好基金有哪些 發布:2025-06-15 12:42:26 瀏覽:314
買數字貨幣什麼意思 發布:2025-06-15 12:42:20 瀏覽:416
怎麼來判斷基金今天是個漲還是跌 發布:2025-06-15 12:37:24 瀏覽:840
北京大修基金多少錢一平 發布:2025-06-15 12:36:40 瀏覽:342