黑马程序员训练营十道满分题解

黑马程序员训练营基础测试题十道

代码下载见GitHubs:https://github.com/fairyxingyun/Itheima_exam_10_answer

1、 编写一个函数,函数内输出一个字符串,并在主函数内调用它。 Answer代码:

package com.itheima;/** * @author 星云 * 1.编写一个函数,函数内输出一个字符串,并在主函数内调用它。 * */{/*** @param args*/(String[] args) {// TODO Auto-generated method stub//主函数中调用自定义的OutMyString()函数,输出一句话.OutMyString();}/*** 自定义OutMyString() 函数** 实现功能:输出一句话.**/(){//输出一句话System.out.println(“Dear teacher,I am QingFeng Zhao,I want to be a member of the dark horse. “);}}

2、 从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。 Answer代码:

package com.itheima;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.regex.Pattern;/** * @author 星云 * 2.从键盘接受一个数字,列出该数字的中文表示格式, * 例如: *键盘输入123,打印出一二三; *键盘输入3103,打印出三一零三。 * */{/*** 根据题意分析:** 1.需要键盘输入一行不固定的字符串** 解决思路: 定义字符串变量 getReadString来接受键盘输入的一行字符串** 2.输入数据可能非法,因此需要一个容错机制.** 解决思路: 自定义一个专门用来检测输入数据是否合法的函数** 核心方法: 使用正则表达式来检测字符串是否为数字** 4.输入阿拉伯数字输出中文数字 那么感觉用键值对是最好的.** 解决思路: 使用HashMap实现Map接口,将信息存放到HashMap集合中.** 5.需要读取字符串中每一个字符,然后找出对应的键值对.** 解决思路:**1.使用String类的charAt(int index)方法可返回指定索引处的字符.*函数原型:char charAt(int index) 返回指定索引处的 char 值。*调用方法: String.charAt(i);*2.使用HashMap的 get(Object key)方法放回key所对应的value.*函数原型:V get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。* 6.需要将获取的字符拼接成字符串进行输出.** 解决思路:**1.使用StringBuffer.append(char c)方法将获取字符拼接起来*2.使用StringBuffer.toString()方法将拼接好的内容转换成字符串*/(String[] args) {// TODO Auto-generated method stubSystem.out.println(“请从键盘输入数字,程序将自动列出该数字的中文表示格式”);//1.需要键盘输入一行不固定的字符串String getReadString= new Scanner(System.in).nextLine();//2.调用自定义函数检测是否数据合法if(isNumeric(getReadString)){//3.HashMap实现Map接口,然后将键值对信息保存到HashMap集合Map<String,String> map=new HashMap<String,String>();map.put(“1”, “一”);map.put(“2”, “二”);map.put(“3”, “三”);map.put(“4”, “四”);map.put(“5”, “五”);map.put(“6”, “六”);map.put(“7”, “七”);map.put(“8”, “八”);map.put(“9”, “九”);map.put(“0”, “零”);//4.获取字符串每一个字符,去HashMap结合查找key对应的value,然后拼接字符.StringBuffer stringBuffer=new StringBuffer();for(int i=0;i<getReadString.length();i++){stringBuffer.append(map.get(getReadString.charAt(i)+””));}//5.StringBuffer.toString()方法转换成字符串输出System.out.println(stringBuffer.toString());}else {//输入数据中含有非数字字符 即数据输入不合法时 友好提示.System.out.println(“对不起,您输入的字符串不是纯数字.”);}}(String str){//定义正则表达式匹配规则:以数字开头,最少一位Pattern pattern=Pattern.compile(“^[0-9]{1,}”);return pattern.matcher(str).matches();}}

3、 什么情况下适合用UDP协议,什么情况下适合用TCP协议? Answer代码:

package com.itheima;{/***@author 星云* 3.什么情况下适合用UDP协议,什么情况下适合用TCP协议?*/(String[] args) {// TODO Auto-generated method stub/****** UDP:* 特点:*1.将数据及源和目的封装成数据包中,不需要建立连接*2.每个数据包的大小限制在64K内*3.因无连接,是不可靠协议*4.不需要建立连接,速度快*6.及时性要求高于可靠性** 经典应用举例:*1.实时音视频应该用UDP*2.可用于网络穿透如:翻墙*3.网络游戏人物移动*总结:UDP不在乎可靠性,数据包丢失不需要重传,不可靠但快,发送方不知道接收方是否收到数据* TCP协议:* 特点:*1.建立连接,形成传输数据的通道。*2.在连接中进行大数据量传输。*3.通过三次握手完成连接,是可靠协议。*4.必须建立连接,可靠但效率会稍低*5.可靠性要求高于及时性* 经典应用举例:*1.下载文件。*2.打电话。*总结:TCP在乎可靠性,数据包丢失需要重传,可靠但慢,要求发送方确定地知道接收方是否收到数据。** */}}那么,不如我们礼貌地保持相对距离,不至于太冷,不至于太痛。

黑马程序员训练营十道满分题解

相关文章:

你感兴趣的文章:

标签云: