`
yaoweinan
  • 浏览: 137569 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

整理和股评牌型

阅读更多
输入文件:
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

    【通达信买卖股评主图指标】是一个用于股票分析的技术指标公式,旨在帮助投资者识别股票的买入和卖出时机。这个公式结合了多种技术分析工具,如移动平均线(MA)、乖离率、相对强弱指数(RSI)、随机指标(KDJ)、...

    量化交易-数据采集-股评家推荐

    本资源主要关注的是“股评家推荐”,这涉及到金融市场上专业分析师和机构对A股上市公司2023年的评级报告。这些评级通常基于对公司的财务状况、市场表现、行业前景等多方面的深度分析,对投资者有着重要参考价值。 ...

    股评信箱系统

    证券投资咨询机构和会员客户之间的信息传递方式一般不外乎电话、传真、电子邮件、短消息等,各种方式均有利弊,相比之下,采用股评语音信箱这种方式则显出较多优势:真实的语音、信息传递量大,不易引起误解;...

    2021.6.20-股评师分析报告文本情感分析预测股价.zip

    股评师分析报告文本情感分析预测股价

    股评建议对投资者买卖倾向的影响

    股评建议对投资者买卖倾向的影响,大家可能会感兴趣

    股票评论数据情感分析(随时间变化)上证指数吧

    6. **数据分析与可视化**:使用Python的数据分析库如Pandas进行数据整理,可能还会用到Matplotlib或Seaborn进行数据可视化,展示情感随时间的变化趋势,帮助用户直观理解分析结果。 7. **模型评估与优化**:通过...

    投资组合论文正态分布论文期望收益论文.doc

    论文通过对短线和中长线操作的股票进行分析,发现了我国股评推荐信息价值主要体现在短线投资中,中长线投资价值较低。 论文还讨论了股票投资的交易费用对投资者的影响,并引入了股票交易费率的概念。最后,论文对...

    Python版股市情感分析源代码+文档说明(高分项目期末大作业&课程设计)

    标注的股评文本:这些数据比较偏门,不是很好找,这里搜集整理了正负语料各4607条,已分词。 从东财股吧抓取的上证指数股评文本:约50万条,时间跨度为17年4月到18年5月。东财上证指数吧十分活跃,约7秒就有人发布一...

    基于python机器学习深度学习实现股市评论情感分析 完整代码+报告毕业设计

    标注的股评文本:这些数据比较偏门,不是很好找,这里搜集整理了正负语料各4607条,已分词。 从东财股吧抓取的上证指数股评文本:约50万条,时间跨度为17年4月到18年5月。东财上证指数吧十分活跃,约7秒就有人发布一...

    A股分析报告和分析依赖的公开数据整理(时间跨度2021年3月到5月)

    同时包括支持分析的公开数据,可供检查和二次开发使用。 数据采集自网络公开数据,可作为学习交流参考,不要作为投资依据! ( 数据报告依赖的数据: baseinfo:基础数据(曾用名、上市日期、股票ID) daily:日线...

    中国娱乐网系统集成方案-精品创业书模板.doc

    2. **股评专栏**:股评录入、发布和股评家评价系统,便于股票市场分析。 3. **论坛系统**:提供用户管理、论坛组织、管理及互动功能,如聊天室。 4. **上市公司历史资料**:包含了公司的基本情况、股本变动、财务...

    日度数据投资者情绪指标(网络股票贴吧文本判断)2010-2023.2.21

    票贴吧的股评文本进行判断,整理出各上市公司股评的情绪和观点态度,并对此进行筛选、 量化和统计。 投资者情绪日度数据 变量 说明 发帖日期 以YYYY-MM-DD列 示。 股票代码 以交易所公布的证券代码为准。 帖子来源 ...

    日度数据投资者情绪指标(网络股票贴吧文本判断)2010-2021.9.24

    票贴吧的股评文本进行判断,整理出各上市公司股评的情绪和观点态度,并对此进行筛选、 量化和统计。 投资者情绪日度数据 变量 说明 发帖日期 以YYYY-MM-DD列 示。 股票代码 以交易所公布的证券代码为准。 帖子来源 ...

    某网络技术公司的系统集成方案.doc

    xx网络技术公司的核心产品和服务包括新闻系统、股评专栏、论坛系统、上市公司历史资料和用户管理访问控制等。其中: 1. 新闻系统:具备新闻录入、发布、维护和历史查询功能,支持分类、热点和时间分类。 2. 股评...

    某娱乐网站解决方案完整方案书.doc

    2. **股评专栏**:允许股评录入、发布,并设有股评家评价系统,增加了用户的互动性和参与度。 3. **论坛系统**:提供用户注册、管理、发帖、回复和聊天室功能,增强社区氛围。 4. **上市公司历史资料**:为投资者...

    某网络技术有限公司网站项目解决方案与系统分析.doc

    股评专栏允许股评录入和发布,同时设有股评家评价系统。论坛系统具备用户管理、文章组织和管理、贴子回复等互动功能。上市公司历史资料则提供了详细的财务和公司信息。用户管理和访问控制确保了信息安全,而WEB访问...

    网站建设方案-娱乐网站策划书.pdf

    股评专栏则需要股评录入和发布,以及股评家评价系统的搭建,以吸引用户参与互动。论坛和聊天室则强调用户认证、管理、张贴和回复功能,以营造活跃的社区氛围。 上市公司历史资料数据库的构建,为用户提供方便的信息...

    东方财富股票评论数据 Python爬虫代码Scrapy框架

    在IT行业中,网络爬虫是获取大量数据的重要...通过以上步骤,我们可以构建一个完整的股票评论数据爬虫,利用Scrapy的强大功能和Python的NLP工具,有效地收集和分析东方财富网的评论数据,为投资决策提供有价值的信息。

    [案例]中国娱乐网系统集成方案[策划&调研].doc

    * 股评专栏:XXXX 公司提供的股评专栏包括股评录入、股评发布、股评家评价系统等功能。 * 论坛系统:XXXX 公司提供的论坛系统包括用户管理、论坛组织、论坛管理等功能。 * 上市 XXXX 历史资料:XXXX 公司提供的上市 ...

Global site tag (gtag.js) - Google Analytics