L1-064 估值一亿的AI核心代码 (20 分) Java

难受的一批的一道题
在这里插入图片描述
以上图片来自新浪微博。
本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是:

  • 无论用户说什么,首先把对方说的话在一行中原样打印出来;
  • 消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首尾的空格全部删掉,把标点符号前面的空格删掉;
  • 把原文中所有大写英文字母变成小写,除了 I;
  • 把原文中所有独立的 can you、could you 对应地换成 I can、I could—— 这里“独立”是指被空格或标点符号分隔开的单词;
  • 把原文中所有独立的 I 和 me 换成 you;
  • 把原文中所有的问号 ? 换成惊叹号 !;
  • 在一行中输出替换后的句子作为 AI 的回答。

输入格式:

输入首先在第一行给出不超过 10 的正整数 N,随后 N 行,每行给出一句不超过 1000 个字符的、以回车结尾的用户的对话,对话为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。

输出格式:

按题面要求输出,每个 AI 的回答前要加上 AI: 和一个空格

输入样例:

6
Hello ?
Good to chat with you
can you speak Chinese?
Really?
Could you show me 5
What Is this prime? I,don 't know

输出样例:

Hello ?
AI: hello!
Good to chat with you
AI: good to chat with you
can you speak Chinese?
AI: I can speak chinese!
Really?
AI: really!
Could you show me 5
AI: I could show you 5
What Is this prime? I,don 't know
AI: what Is this prime! you,don’t know

分析:

刚开始做的时候,存在"can you"转换为"I can"之后又将"I"转换为"you"的,然后题目要求是输出I can",这样才AC。这里是一个大坑。
所以“can you、could you、I、me”应当是对去除空格和?转换之后的字符串进行操作,
且“can you、could you”和“I 、me”的转换是互不影响的。

主要使用了正则表达式对字符串进行操作。

恶心的一批的一道题,不想说什么了。

Java代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {String str;Scanner sc = new Scanner(System.in);int n = Integer.parseInt(sc.nextLine());for(int i=0;i<n;i++) {str = sc.nextLine();System.out.println(str);String str2 = "";char[] chars = str.toCharArray();for (int j = 0; j < chars.length; j++) {if (chars[j] >= 'A' && chars[j] <= 'Z' && chars[j] != 'I') {chars[j] += 32;}str2 += chars[j];}str2 =str2.trim();//去除首尾空格str2 = str2.replaceAll(" +", " ");//如果有多个空格,替换为一个空格str2 = str2.replaceAll(" (\\W)", "$1");//去除标点符号前的空格($1表示第一个小括号里的内容)str2 = str2.replaceAll("\\?","!");//将?替换为!//--------------------------------------------------------------//因为存在"can you"转换为"I can"之后又将"I"转换为"you"的情况,//然后题目要求是输出I can",这样才可以AC//所以“can you、could you、I、me”应当是在分割线之上的字符串前提下进行操作。//暂时将它们使用ABC代替str2 = str2.replaceAll("\\bcan you\\b","A");str2 = str2.replaceAll("\\bcould you\\b","B");str2 = str2.replaceAll("\\b(I|me)\\b","C");str2 = str2.replaceAll("A","I can");str2 = str2.replaceAll("B","I could");str2 = str2.replaceAll("C","you");System.out.println("AI: "+str2);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53980.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不足半年,估值到10亿美元的跨链新秀Axelar,实力还是噱头?

区块链跨链网络 Axelar 完成 3500 万美元的 B 轮融资&#xff0c;将这家初创公司的估值提高到 10 亿美元。 项目简介 Axelar 是通用覆盖网络&#xff0c;安全地连接所有区块链生态系统、应用程序、资产和用户&#xff0c;以提供 Web3 互操作性。 开发人员使 Web3 成为一个多…

商品期货的估值与驱动

商品期货很有意思&#xff0c;这个体系反馈比股票市场迅速&#xff0c;毕竟到了交割期现价格需要收敛。而且&#xff0c;毕竟期货背后是实物&#xff0c;是一个最终可以看得见摸得着的东西&#xff0c;价格不会跌到地底下也不会涨到九天之上。虽然股票背后是上市公司&#xff0…

字节跳动要上市?估值4000亿美元

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447; 来源丨BAT https://mp.weixin.qq.com/s/UO7trvkRc5yRhPlJk-_k4g 近日有媒体爆料&#xff0c;字节跳动&#xff08;香港&#xff09;有限公司更名为抖音集团&#xff…

估值方法

1、股票估值方法 1.1、市盈率估值法&#xff08;PE&#xff09; 市盈率 股价 每股收益&#xff0c;其中&#xff0c;每股收益&#xff1d;利润/总股数&#xff0c;PE是指企业以目前的盈利水平&#xff0c;多少年能完全回本&#xff1f;计算公司为PE每股股价/每股收益&#…

13 Python总结之估值

未定权益的估值 蒙特卡洛模拟的最重要应用之一是未定权益&#xff08;期权&#xff0c;衍生品&#xff0c;混合型工具等&#xff09;的估值。简单地说&#xff0c;在风险中立的世界中&#xff0c;未定权益的价值是风险中立&#xff08;鞅&#xff09;测度下的折现后预期收益。…

2023微信手机号筛选器,快速检测出开通微信的号码,检测国外号码过滤微信状态,判断qq是否开通微信软件

筛选开通微信的号码后&#xff0c;提升加粉效率&#xff0c; | 微信筛选器可以快速检测出哪些开通微信的号码&#xff0c;和未开通的&#xff0c;分开保存&#xff0c;微信筛选过滤&#xff0c;手机号检测是否开通微信&#xff0c;QQ开通微信检测&#xff0c; #微信筛选器# #微…

战地服务器名字不显示号码的电话软件,打电话显示虚拟号码的软件,教你打电话隐藏号码...

打电话不显示号码(iPhone打电话怎么设置不显示号码)我们经常会收到一些莫名其妙的号码&#xff0c;来自法国、美国、巴西……各个地方的陌生电话。不知道的还以为朋友去了国外给自己一个惊喜。 打电话不显示号码(iPhone打电话怎么设置不显示号码) 接到了该怎么处理&#xff1f;…

虚拟号码怎么开通?

虚拟码号的开通方式基本一样 一、首先是企业实名&#xff0c;上传企业的证明文件&#xff0c;法人证件。 二、然后是提出开号需求&#xff0c;号码数量&#xff0c;号码区域 三、然后缴纳费用 四、等待3-8个工作日开号 通过API或者SDK接口接入自己的系统&#xff0c;要不就…

chatgpt赋能python:如何关闭Python中的Figure?

如何关闭Python中的Figure&#xff1f; 简介 在Python中使用Matplotlib生成图形时&#xff0c;我们会使用到Figure对象&#xff0c;它是图形的容器。在一些情况下&#xff0c;我们可能需要手动关闭这个Figure&#xff0c;例如多次运行程序导致Figure叠加、或者让程序周期性的…

用户登录·验证码测试登录

实现用户界面进行验证码测试登录 具体要求是&#xff1a; 实现一个网页中需要两次的判断&#xff0c;一个判断验证码是否正确&#xff0c;一个登录学号与密码是否正确&#xff1b; 代码如下&#xff1a; 1.LoginController的代码 1.这里的判断语句中&#xff0c;如果验证码…

利用kaptcha生成登录验证码

利用kaptcha生成登录验证码 导入包 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>由于spring没有整合kaptcha&#xff0c;自定义一个katcha的…

登录的验证码

登录的验证码样板如下&#xff1a; 代码如下&#xff1a; 前端&#xff1a; * 获取验证码 *<div class"form-group row" style"margin-right:-65px;"><div class"col-sm-9 col-xl-10 pr-0"><div class"input-group"&…

登入验证码的识别

放在前面 无深度学习无机器学习 在以前的博客中,教务系统一键查询成绩我在登入这一步,使用的腾讯文字识别的api虽然说免费用3000次,但总觉得受限于人,今天捣鼓了一天,终于用自己的方法实现了验证码识别,虽然很简陋,但是终归是实现了,哈哈. 在昨天刚了解完支持向量机,当时就想…

kaptcha 验证码技术的应用

一.背景 图形验证码的生成与使用&#xff08;防止机器恶意攻击&#xff09; 二.代码&#xff08;使用&#xff09; 1.添加Maven依赖 <!--验证码 --> <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId&…

王田苗对话四位AI领军人物:具身智能的机遇与挑战

一个新的机器人时代已经开启&#xff0c;几位顶级AI、机器人大佬&#xff0c;如何思考具身智能&#xff1f;大模型给机器人带来了怎样的变革意义&#xff1f;人形机器人多久能进入家庭&#xff1f; 从早稻田大学1972年研发的WABOT&#xff0c;到特斯拉2022年首秀的Optimus&…

玖章算术CEO叶正盛在数据技术嘉年华分享NineData AIGC的应用实践

4月8日下午&#xff0c;为期两天的第十二届数据技术嘉年华&#xff08;DTC 2023&#xff09;在北京新云南皇冠假日酒店圆满落下帷幕。大会得到了工业和信息化部电子五所的支持和指导&#xff0c;围绕“开源融合数字化——引领数据技术发展&#xff0c;释放数据要素价值”这一主…

软件技术基础知识忏悔录C#.NET篇(一)

为何开始 人已是大三之年&#xff0c;虽是身在985&#xff0c;心里却没有半分985的底气&#xff0c;自从大二分流以来&#xff0c;自己几乎是没再系统的学过什么&#xff0c;除了几位知识还算渊博的老师教了较为详细的数据库、数据结构的知识之外&#xff0c;其他老师大抵都是迷…

聊聊简历怎么写

大家好&#xff0c;我是柠檬哥。 年初看机会、准备换工作的同学比较多&#xff0c;后台也有很多同学请教如何准备面试&#xff0c;精力有限&#xff0c;一个个回复肯定是回不过来。 关于求职面试这块的的话题有点大&#xff0c;大部分人内心OS估计是&#xff1a; 忍了一年的SX领…

程序员该如何去写自己的简历-代码而成的简历

首先&#xff0c;声明这是写给程序员看的&#xff0c;而不是码农。其次&#xff0c;如果你不幸是码农那么请成为程序员。最后&#xff0c;码农和程序员是有区别的&#xff0c;程序员应该是有思想的手工艺人&#xff0c;在这个机械高度生产化的世界里&#xff0c;人口众多的手工…

【总结】1637- 如何利用 ChatGPT 提升 JavaScript 编程能力?

最新文章&#xff1a; 【工具】1636- 高效办公&#xff01;5款腾讯免费AI工具 【工具】1634- 提高工作效率&#xff0c;这 10 款 AI 工具不能错过&#xff01; 【分享】1632- 推荐 20 款顶级 AI 聊天机器人&#xff0c;轻松畅聊未来 最近几天&#xff0c;GPT-4、ChatGPT Plugin…