输入文件:
2C QD TC AD 6C 3D TD 3H 5H 7H AS JH KH
要求输出:
CLUBS 10 T 6 2
DIAMONDS 10 T A Q 3
HEARTS K J 7 5 3
SPADES A
Point=16
问题描述:
输入是一个表示扑克牌的字符对流。例如输入文件,表示梅花2,方块皇后,梅花10等。对(pair)由面值(rank)和花色(suit)组成。其中面值为A,2,3,4,5,6,7,8,9,T,J,Q,K。花色为C(clubs,梅花)、D(diamond,方块),H(heart,红桃),S(spade,黑桃)。可以假设各个输入行表示13张扑克牌,而且不含错误,输入以文件结束符终止。
各个输入行形成13张牌的牌型。以易读形式显示各个牌型,按花色和花色中的面值排列(A为高)。然后按下面的标准评估:
A记为4
K记为3
Q记为3
J记为1
空(某一花色无牌)记为3
单牌(某一花色一张牌)记为2
双牌(某一花色两张牌)记为1
对于某种花色中超过5,在5张牌之外,每张记为1
程序代码:
package com.test;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Vector;
public class BridgeHand {
/**
整理和股评牌型
*/
private Pair[] pair;
public static void main(String[] args) {
Pair []pair=new Pair[13];
FileReader rd=null;
try {
rd=new FileReader(".\\Bidge.txt");
} catch (FileNotFoundException e) {
System.out.print("读入文件未找到!");
e.printStackTrace();
}
BufferedReader buf_rd=new BufferedReader(rd);
String str=null;
try {
str=buf_rd.readLine();
} catch (IOException e) {
e.printStackTrace();
}
String []str_arr=str.split(" ");
if(str_arr.length!=13){
System.out.print("数据长度错误,程序退出!");
System.exit(0);
}
for(int i=0;i<str_arr.length;i++){
char[] ch=str_arr[i].toCharArray();
char a,b;
a=ch[0];
b=ch[1];
pair[i]=new Pair(a,b);
}
try {
buf_rd.close();
rd.close();
} catch (IOException e) {
e.printStackTrace();
}
BridgeHand bh = new BridgeHand(pair);
Vector<Pair> p = null;
int count[];
int point=0;
char[] suit = { 'C', 'D', 'H', 'S' };
count=new int[suit.length];
String str_Sav[]={"","","",""};
for (int i = 0; i < suit.length; i++) {
p = bh.getSuit(suit[i]);
count[i]=p.size();
Iterator it = p.iterator();
switch(suit[i]){
case 'C':System.out.print("CLUBS");str_Sav[i]+="CLUBS ";break;
case 'D':System.out.print("DIAMONDS");str_Sav[i]+="DIAMONDS ";break;
case 'H':System.out.print("HEARTS");str_Sav[i]+="HEARTS ";break;
case 'S':System.out.print("SPADES");str_Sav[i]+="SPADES ";break;
}
while (it.hasNext()) {
Pair pa = (Pair) it.next();
if(pa.getRank()=='T'){
System.out.print(" "+"10");
str_Sav[i]+="10 ";
}
else
System.out.print(" "+pa.getRank());
str_Sav[i]+=pa.getRank()+" ";
if(pa.getRank()=='A')point+=4;
if(pa.getRank()=='K')point+=3;
if(pa.getRank()=='Q')point+=2;
if(pa.getRank()=='J')point+=1;
}
System.out.println();
if(count[i]==0)point+=3;
if(count[i]==1)point+=2;
if(count[i]==2)point+=1;
if(count[i]>5)point+=count[i]-5;
}
System.out.println("Points="+point);
FileWriter fw=null;
try {
fw=new FileWriter(".\\Bidge_out.txt");
} catch (IOException e) {
e.printStackTrace();
}
PrintWriter pw=new PrintWriter(fw,true);
for(int i=0;i<str_Sav.length;i++){
pw.println(str_Sav[i]);
}
pw.println("Point="+point);
pw.close();
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public BridgeHand(Pair[] p) {
//构造函数
pair=p;
}
public Vector<Pair> getSuit(char suit){
//获得指定花色的扑克牌
Vector<Pair> clubs=new Vector();
for(int i=0;i<pair.length;i++){
if(pair[i].getSuit()==suit)clubs.add(pair[i]);
}
MyComp comp=new MyComp();
Collections.sort(clubs, comp);
return clubs;
}
}
class MyComp implements Comparator<Pair>{
//比较类
public int compare(Pair o1, Pair o2) {
if(o1.getRank()=='A')return 1;
if(o2.getRank()=='A')return 1;
if(o1.getRank()>o2.getRank())return -1;
if(o1.getRank()<o2.getRank())return 1;
return 0;
}
}
class Pair{
//扑克牌类
private char rank;
private char suit;
public Pair(char rank,char suit){
this.rank=rank;this.suit=suit;
}
public char getRank(){
return rank;
}
public char getSuit(){
return suit;
}
}
分享到:
相关推荐
通达信买卖股评主图指标.doc
证券投资咨询机构和会员客户之间的信息传递方式一般不外乎电话、传真、电子邮件、短消息等,各种方式均有利弊,相比之下,采用股评语音信箱这种方式则显出较多优势:真实的语音、信息传递量大,不易引起误解;...
股评师分析报告文本情感分析预测股价
设计了一种融合全文搜索和观点挖掘的面向网络股评的垂直搜索引擎系统结构,提出了一种面向网络股评主题数据采集的定点收割算法和爬虫结构,并建立了一种网络股评的多粒度模糊计算的无监督情感极性分类方法,能实现...
股评建议对投资者买卖倾向的影响,大家可能会感兴趣
A股上市公司2023年前机构评级报告 个人量化交易专辑索引:https://blog.csdn.net/c07290/article/details/135430785
股票评论数据情感分析(随时间变化)上证指数吧 nlp文本情感分析 股票评论数据情感分析
标注的股评文本:这些数据比较偏门,不是很好找,这里搜集整理了正负语料各4607条,已分词。 从东财股吧抓取的上证指数股评文本:约50万条,时间跨度为17年4月到18年5月。东财上证指数吧十分活跃,约7秒就有人发布一...
同时包括支持分析的公开数据,可供检查和二次开发使用。 数据采集自网络公开数据,可作为学习交流参考,不要作为投资依据! ( 数据报告依赖的数据: baseinfo:基础数据(曾用名、上市日期、股票ID) daily:日线...
票贴吧的股评文本进行判断,整理出各上市公司股评的情绪和观点态度,并对此进行筛选、 量化和统计。 投资者情绪日度数据 变量 说明 发帖日期 以YYYY-MM-DD列 示。 股票代码 以交易所公布的证券代码为准。 帖子来源 ...
票贴吧的股评文本进行判断,整理出各上市公司股评的情绪和观点态度,并对此进行筛选、 量化和统计。 投资者情绪日度数据 变量 说明 发帖日期 以YYYY-MM-DD列 示。 股票代码 以交易所公布的证券代码为准。 帖子来源 ...
随着互联网应用的飞速发展和用户人数的急剧增长,股市评论与观点在很大程度上反映了股市行情,也影响着股市涨跌。因此,如何快速高效地分析到网民对股市的态度和观点,对股市预测具有很大指导意义。论文研究通过分析...
股票经典数据集,可以用于各种模型,需要的下载,由于最低必须一分所以设置了一分
,及时获取最新(新闻/股评/娱乐/体育)资讯 提供股市行情搜索引擎(实时曲线/实时行情/日K曲线) 特有的VCL控件搜索引擎 提供注册码/注册器搜索引擎 特有的网际蜘蛛图片搜索功能 提供300多条分类搜索引擎...
,及时获取最新(新闻/股评/娱乐/体育)资讯 提供股市行情搜索引擎(实时曲线/实时行情/日K曲线) 特有的VCL控件搜索引擎 提供注册码/注册器搜索引擎 特有的网际蜘蛛图片搜索功能 提供300多条分类搜索引擎...
,及时获取最新(新闻/股评/娱乐/体育)资讯 提供股市行情搜索引擎(实时曲线/实时行情/日K曲线) 特有的VCL控件搜索引擎 提供注册码/注册器搜索引擎 特有的网际蜘蛛图片搜索功能 特有的域名注册功能 ...
资源包含文件:源码及...这里我们利用标注语料分析股评情感,利用分析结果构建指标,之后研究指标与股市关系。 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/122547078?spm=1001.2014.3001.5502
Python实现A股股市情感分析...这里我们利用标注语料分析股评情感,利用分析结果构建指标,之后研究指标与股市关系。 可以按以下顺序运行代码: python model_ml.py python compute_sent_idx.py python plot_sent_idx.py
对[CSN](网际狂搜主引擎)进行扩充和优化,使搜索结果更多更准确 新扩充[CSN] 网站/网页/MP3/音乐/软件/驱动/新闻/控件/注册码 增加手机短信功能 主要功能: 网站/网页/MP3/歌词/软件/驱动/新闻/控件/注册...
在2020年4月9日至7月16日之间收集了推文,不仅使用SPX500标签,而且使用了指数前25名公司和“ #stocks”。引用 - 布鲁诺塔博达(Taborda);安娜·德·阿尔梅达;卡洛斯·迪亚斯何塞•;巴蒂斯塔,费尔南多;里贝罗,...