笑脸组成规则:

-笑脸必须包含眼睛。用“:”或“;”表示。

-笑脸可以有鼻子,也可以没有。用“-”或“~”表示。

-笑脸必须有嘴巴。用“)”或“D”表示。

例如笑脸:

:)  ;)  :~)  ;~)  :-)  ;-)  :D  ;D等

Given an array (arr) as an argument complete the function countSmileys that should return the total number of smiling faces.

Rules for a smiling face:

-Each smiley face must contain a valid pair of eyes. Eyes can be marked as : or ;

-A smiley face can have a nose but it does not have to. Valid characters for a nose are - or ~

-Every smiling face must have a smiling mouth that should be marked with either ) or D.

No additional characters are allowed except for those mentioned.

Valid smiley face examples:

:) ;) :~) ;~) :-) ;-) :D ;D :-D ;-D  :~D ;~D

Invalid smiley faces:

;( :> :} :]

代码:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

/**

* @description:

* @create: 2019/04/24 09:03

*/

public class SmileFaces {

public static int countSmileys(Listarr) {

Listlist=new ArrayList<>();

list.add(":)");

list.add(";)");

list.add(":~)");

list.add(";~)");

list.add(":-)");

list.add(";-)");

list.add(":D");

list.add(";D");

list.add(":-D");

list.add(";-D");

list.add(":~D");

list.add(";~D");

Integer count=0;

//方式一

for(String str:arr){

if(list.contains(str)){

++count;

}

}

//方式二,效率比较低,不推荐

// for(int i=0;iarr=new ArrayList<>();

arr.add("~8oD");

arr.add(":d");

arr.add("~(~d");

arr.add(":p");

arr.add(":D");

arr.add(";)");

arr.add("'d");

arr.add("(P");

arr.add(";x");

arr.add(";DD");

arr.add(";)");

arr.add("-p)");

arr.add("p-)");

arr.add("(x)");

arr.add("(-P");

arr.add(":p)D");

arr.add(";)");

arr.add("4x");

arr.add("4x");

arr.add(":~D");

arr.add("o8d");

arr.add(";)");

arr.add(" '8D");

arr.add("oD");

arr.add(";x)");

arr.add(";P");

arr.add(";X");

arr.add(":2D");

System.out.println(countSmileys(arr));

}

}

Java编写程序输出一个笑脸_给定一个数组,输出笑脸的个数。相关推荐

  1. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  2. java 求最长重复子串_给定一个字符串,求出其最长的重复子串。

    #include #include #include #include using namespace std; //给定一个字符串,求出其最长的重复子串 //方法一 string lsubstr_1 ...

  3. java编写point类line类_定义一个点类Point,有横坐标x和纵坐标y,定义构造

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:定义一个点类Point,有横坐标x和纵坐标y,定义构造函数初始化点,回答:#include class Point{private: ...

  4. c语言中输入n一个整数存入一维数组,编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。...

    满意答案 王毛毛00000 2014.05.25 采纳率:58%    等级:7 已帮助:613人 首先声明:我是来被骗的!因为根据经验绝大部分的一级头衔的人都是想到问题才注册百度的,别人回答了基本不 ...

  5. Java黑皮书课后题第7章:*7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目

    7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.22(计算一个字符串中大写字母的数 ...

  6. Java黑皮书课后题第5章:*5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年利率为5.75%。编写程序,提示由用户输入一个金额数、年获利率、月份数,然后显示一个表格

    5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年获利率为5.75%.编写程序,提示由用户输入一个金额数.年获利率.月份数,然后显示一个表格 题目 题目概述 运行示例 破题 代 ...

  7. java用星号和空格输出一个字母_实例006 编程输出星号组成的等腰三角形

    实例006  编程输出星号组成的等腰三角形 本实例将作为接触Java开发的***个程序,用JDK工具包和记事本来完成.通过本实例可以体会Java最基本的开发方式,它可以不借助任何IDE集成开发工具,虽 ...

  8. 编写程序python输入任意大的自然数、输出各位数字之和_兰理工Python第一次上机作业源码...

    1.编写程序,输入任意大的自然数,输出各位数字之和. a=input() sum=0 for i in a: sum=sum+int(i) print(sum) 运行结果: 2.编写程序,输入两个集合 ...

  9. (c++)编写一个函数isprime(n).判断整数n是否为素数.编写程序使用此函数,当输入一个整数时,对它进行判断,当为素数时,输出1.否则,输出0.

    [问题描述] 编写一个函数isprime(n).判断整数n是否为素数.编写程序使用此函数,当输入一个整数时,对它进行判断,当为素数时,输出1.否则,输出0. [输入形式] 控制台输入一个整数. [输出 ...

最新文章

  1. LeetCode 122. Best Time to Buy and Sell Stock II--贪心--Java,C++,Python解法
  2. 元宇宙深度报告,共177页!
  3. DOS批处理高级教程精选(七)
  4. epoll使用详解(精髓)
  5. C#连接MySQL时出现Unable to connect to any of the specified MySQL hosts.错误
  6. LeetCode 684. Redundant Connection
  7. 批量改名_手把手教你用Python批量给图片添加水印 | 知了干货分享
  8. 项目管理论坛_【项目管理论坛】 第15期:如何做一名优秀的项目经理
  9. [古诗]有关日本留学生的那些古诗
  10. mysql 多个值求和_SQL优化大神玩转MySQL函数系列(2)LEAST,SUM的应用
  11. 手机虚拟摄像头_新游 | 打破次元壁障,《猪猪侠AR虚拟使命》现实约战,一切尽在创酷互动!...
  12. Android Multimedia框架总结(十五)Camera框架之Camera2补充
  13. 计算机控制系统课件百度云,技术员给你防止百度网盘和谐的方法
  14. iphone android 功能清单,iPhone的这几个App,让你的工作效率翻倍(1)
  15. Win10喇叭图标出现红叉提示“未安装任何音频输出设备“
  16. C语言:getchar( ) 函数详解
  17. 国民感冒众生相,“微大夫”电磁脉冲预防+舒缓
  18. SSH新学,关于面向对象的看法
  19. 埃尔米特插值c语言编程,131张艳-埃尔米特(Hermite)插值逼近的C语言程序.doc
  20. Android设置按钮不可点击

热门文章

  1. 企业邮箱续费多少钱一年?企业邮箱域名到期如何续费?
  2. 1个英文字母、1个汉字、标点符号各占几个字节?以及文件的编码方式查看
  3. 广域网技术-PPP协议
  4. 我的2017——作为一名程序员,我重新思考了我生活的目标
  5. 学了C语言,能开发什么项目?
  6. 使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy或者使用metion监控,画面为灰色
  7. ios android与wp,在iOS与Android间选择WP
  8. 微信扫码提示在浏览器中打开的遮罩代码
  9. tomcat 报错 Too many open files
  10. 中国(成都)区块链博物馆为区块链正名