
正文
股票类的Java代码,java开发股票源代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 设计一个Stock的类,这个类包括:
代码如下:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Stock {
private String symbol;
private String name;
private double previousClosingPrice;
private double currentPrice;
// 构造方法
public Stock(String symbol, String name) {
this.symbol = symbol;
this.name = name;
}
//
public double getChangePercent() {
return (currentPrice - previousClosingPrice) / previousClosingPrice;
}
public void setPreviousClosingPrice(double previousClosingPrice) {
this.previousClosingPrice = previousClosingPrice;
}
public void setCurrentPrice(double currentPrice) {
this.currentPrice = currentPrice;
}
public String getSymbol() {
return symbol;
}
public String getName() {
return name;
}
public static void main(String[] args) {
Stock stock = new Stock("Java", "Sun Mircro");
stock.setCurrentPrice(4.35); // 当前价格
stock.setPreviousClosingPrice(4.5);// 前一交易日价格
double d = stock.getChangePercent(); // 价格浮动: 由于是double,下面的计算是N位小数
System.out.println("价格浮动:" + stock.getChangePercent());
// 处理下
BigDecimal bd = new BigDecimal(d * 100); // 乘个100,是为了看效果
bd = bd.setScale(2, RoundingMode.HALF_UP); // 设置2位小数,采用四舍五入
System.out.println("[" + stock.getSymbol() + "] " + stock.getName() + " 价格浮动:" + bd.toString() + "%");
}
}
亲,如果回答满意,亲及时采纳,你的合作是我们回答的动力,谢谢!
相关问答
Q1: 如何用java实现股票的自动化交易
1、目前,中国股市中,股票自动化交易简称自动交易或机器交易,是投资策略家将自己的交易策略系统化了的电脑程序。这种电脑程序能够代替人在互联网上进行股票、期货、黄金、外汇等证券的交易,故称智能自动化交易。
2、自动交易软件可以对接各类行情分析软件的股票预警窗口,而且在大智慧、通达信、益盟操盘手、东方财富通、新飞狐、交易开拓者等软件皆可适用。软件通过预警窗口读取用户自编公式选出的股票,然后自动买卖。另外还内置了5个经典的卖出模型:破价位卖出、破XX日均线卖出、MACD死叉卖出、KDJ死叉卖出、动态止盈卖出。在股票用户自己买入股票后,不用整天盯盘,通过交易手简单的几个设置,就可以完成无人值守全自动卖出,在业界享有“平仓大师”的美名,既解决了令人纠结的艰苦的盯盘问题,又克服了贪婪、恐惧的人性弱点,该止损就止损,该止盈就卖在相对的高点,有效地规避深套和半道被主力洗出来的局面。
Q2: 用java定义一个股票类Stock,该类包括如右图所示
public class Stock {
private String store;// 股票类属性
private String symbol;// 股票代号
private String name;// 股票名称
private BigDecimal currentPrice;// 当前时间的股票价格
private BigDecimal previouClosingPrice;// 前一天的股票值
/**
* 返回前一天变到当前时间的百分比
* @return 百分比
*/
public double getChangePercent() {
return this.currentPrice.subtract(this.previouClosingPrice).abs()
.divide(this.currentPrice, 2, BigDecimal.ROUND_HALF_EVEN)
.doubleValue();
}
/**
* 返回前一天变到当前时间的百分比
* @param currentPrice 当前时间的股票价格
* @param previouClosingPrice 前一天的股票值
* @return 百分比
*/
public double getChangePercent(BigDecimal currentPrice,
BigDecimal previouClosingPrice) {
return currentPrice.subtract(previouClosingPrice).abs()
.divide(currentPrice, 2, BigDecimal.ROUND_HALF_EVEN)
.doubleValue();
}
public String getStore() {
return store;
}
public void setStore(String store) {
this.store = store;
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getCurrentPrice() {
return currentPrice;
}
public void setCurrentPrice(BigDecimal currentPrice) {
this.currentPrice = currentPrice;
}
public BigDecimal getPreviouClosingPrice() {
return previouClosingPrice;
}
public void setPreviouClosingPrice(BigDecimal previouClosingPrice) {
this.previouClosingPrice = previouClosingPrice;
}
}
Q3: 定义一个股票类Stock
定义股票的类:
在类模块中输入下列代码。
public symbol as string
public name as string
public currenprice as currency
public sub 显示股票信息()
msgbox(symbol vbcrlf name currency)
end sub
打印图案
private sub print()
dim x as string
dim y as integer
dim z as integer
x=""
for i=0 to 2
y=2-i
z=1+i*2
for j=1 to y
x=x " "
nex j
for j=1 to z
x=x "#"
next j
x=x vbcrlf
next i
msgbox(x)
end sub
没有看到第8题,第7题与股票的问题类似。
本例是用VB答复的,其他语言基本类似。
原来是要Java的:
public class Stock {
private String symbol;
private String name;
private double currentPrice;
public Stock(){
}
public void display(){
System.out.println("(" + this.symbol + ")" + this.name + ":" + this.currentPrice);
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getCurrentPrice() {
return currentPrice;
}
public void setCurrentPrice(double currentPrice) {
this.currentPrice = currentPrice;
}
}
Q4: 如何用java读取股票数据
股票实时行情,可以通过两个方法来进行查看: 第一种,在百度搜索页面直接输入股票代码,如:000717,百度输入后,即可在搜索结果中看到,其中分时,就是该股票在当天的实时走向。 第二种,通过炒股软件,如东财,同花顺等,在开启后,直接输入
Q5: 3、 用java定义一个股票类Stock,该类包括如右图所示
public
class
stock
{
private
string
store;//
股票类属性
private
string
symbol;//
股票代号
private
string
name;//
股票名称
private
bigdecimal
currentprice;//
当前时间的股票价格
private
bigdecimal
previouclosingprice;//
前一天的股票值
/**
*
返回前一天变到当前时间的百分比
*
@return
百分比
*/
public
double
getchangepercent()
{
return
this.currentprice.subtract(this.previouclosingprice).abs()
.divide(this.currentprice,
2,
bigdecimal.round_half_even)
.doublevalue();
}
/**
*
返回前一天变到当前时间的百分比
*
@param
currentprice
当前时间的股票价格
*
@param
previouclosingprice
前一天的股票值
*
@return
百分比
*/
public
double
getchangepercent(bigdecimal
currentprice,
bigdecimal
previouclosingprice)
{
return
currentprice.subtract(previouclosingprice).abs()
.divide(currentprice,
2,
bigdecimal.round_half_even)
.doublevalue();
}
public
string
getstore()
{
return
store;
}
public
void
setstore(string
store)
{
this.store
=
store;
}
public
string
getsymbol()
{
return
symbol;
}
public
void
setsymbol(string
symbol)
{
this.symbol
=
symbol;
}
public
string
getname()
{
return
name;
}
public
void
setname(string
name)
{
this.name
=
name;
}
public
bigdecimal
getcurrentprice()
{
return
currentprice;
}
public
void
setcurrentprice(bigdecimal
currentprice)
{
this.currentprice
=
currentprice;
}
public
bigdecimal
getpreviouclosingprice()
{
return
previouclosingprice;
}
public
void
setpreviouclosingprice(bigdecimal
previouclosingprice)
{
this.previouclosingprice
=
previouclosingprice;
}
}







