吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16254|回复: 13
收起左侧

[Java 转载] 黑马程序员基础测试题-大家来测试下哈

[复制链接]
昕悦阁丶风雪 发表于 2015-7-17 10:35
[Java] 纯文本查看 复制代码
黑马程序员训练营基础测试



1、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒

2、 定义一个二维int数组,编写代码获取最小元素。

3、 以下代码哪个是正确的?为什么?

a. byte b = 1 + 1;     
b. byte b = 1; b = b + 1; 
c. byte b = 1; b = b += 1;    
d. byte b = 1; b = ++b;  
4、 什么情况下适合用UDP协议,什么情况下适合用TCP协议?

5、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}

6、 编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72

7、 用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

8、 使用带缓冲功能的字节流复制文件。

小明的妈妈每天会给他20元零花钱。

平日里,小明先花掉一半,再把一半存起来。

每到周日,小明拿到钱后会把所有零花钱花掉一半。

请编程计算,从周一开始,小明需要多少天才能存够100元?

10、 使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。

服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。




我是10分通过的。。

这里只提供第十题的源代码(有些小问题:就是当客户端输入 over 结束标志时,客户端结束了,但是引起了服务端的结束,希望大神能解释下哈。)
[Java] 纯文本查看 复制代码
package com.itheima;
/*
 * 10、 使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。

服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

*问题分析:
*使用TCP协议:那么则要用到ServerSocket 和Socket对象,并且循环接收客户端传过来的字符串,
*				那么客户端和服务端均要循环执行。
*/
import java.net.*;
import java.io.*;
public class Test10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	}

}
class TCPServer
{
	ServerSocket ss = null;
	public static void main(String[] args)
	{
		ServerSocket ss = null;
		Socket s = null;
		try
		{
			try {
				ss = new ServerSocket(9999);//创建监听9999端口的服务端对象
			} catch (IOException e) {
				// TODO Auto-generated catch block
				System.out.println("服务端开启失败!");//抛出失败异常
			}
			s = ss.accept();//阻塞,获取客户端连接请求
			InputStream in = s.getInputStream();//获取客户端的输入流
/*			BufferedReader bufr = 
					new BufferedReader(new InputStreamReader(in));//将流封装到缓冲区中
*/			OutputStream os = s.getOutputStream();//获取输出流对象
			while(true)
			{
				System.out.println("ip:"+s.getInetAddress().getHostAddress()+"连接了");//输出连接过来的IP地址
				byte[] buf =new byte[1024];
				int len = in.read(buf);
				String line = new String(buf,0,len);//将独到的字节流转换为字符串
				System.out.println("客户端发送了数据:"+line);
				PrintWriter pw = new PrintWriter(os,true);//创建一个带自动刷新的PrintWriter对象。
				pw.println(fanzhuan(line));//调用反转函数计算结果并打印到客户端
				
			}
		}catch(Exception e)
		{
			
		}finally{
			try{
				if(s!=null)
					s.close();//关闭客户端
			}catch(IOException e){
				System.out.println("客户端关闭失败!");
			}
		}
			try{
				if(ss!=null)
					ss.close();//关闭服务端
			}catch(IOException e){
				System.out.println("服务端关闭失败!");
			}
		}
	public static String fanzhuan(String str)
	{
		StringBuilder sb = new StringBuilder();
		for(int i = str.length()-1;i>=0;i--)//倒序循环
		{
			sb.append(str.charAt(i));//将结果附加到StringBuilder中
		}
		return sb.toString();
		
	}
	
}
class TCPClient
{
	public static void main(String[] args)
	{
		Socket s = null;
		try{
			s = new Socket("127.0.0.1",9999);//创建客户端对象
			OutputStream out = s.getOutputStream();//获取输出流对象
			InputStream in = null;//获取输入流对象
			BufferedReader bufr =
					new BufferedReader(new InputStreamReader(System.in));//将控制台输入流封装到缓冲区中				
			String line = null;
			while(!(line=bufr.readLine()).equals("over"))//如果输入的不是over,则发送到服务端上
			{
				out.write(line.getBytes());
				in = s.getInputStream();
				byte[] buf = new byte[1024];//定义缓冲区
				int len = in.read(buf);//读取服务端返回的数据
				System.out.println(s.getInetAddress().getHostAddress()+":"+new String(buf,0,len));			
			}
		}catch(IOException e){
			System.out.println("客户端发送数据失败!");
		}finally{
			try{
				if(s!=null)
					s.close();//关闭客户端
			}catch(IOException e){
				System.out.println("客户端关闭失败!");
			}
		}
	}
}


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

morigin 发表于 2016-10-14 17:12
小明的问题 不知道对不对
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
		double money = 0.0;
		int day = 0;
		while (true) {
			if (money >= 100) {
				break;
			} else {
				day++;
				if (day % 7 == 0) {
					money = (money+20) / 2;
				} else {
					money = money + 20 / 2;
				}
			}
			System.out.println("第"+day+"天,共有"+money+"元钱!");
		}
	}
wuaixuexioen 发表于 2015-7-17 11:22
数学老师死得早= =                                                
Very_good 发表于 2015-7-17 10:42
SeriousSnow 发表于 2015-7-17 11:10
4 10 不会~~~~(>_<)~~~~
 楼主| 昕悦阁丶风雪 发表于 2015-7-17 22:04

第十题给源码 和注释了。第四题不是写代码的,,就是问答题
learndozen 发表于 2015-7-18 08:51
初学者过来学习一下~~~~~~
SeriousSnow 发表于 2015-7-18 09:42
昕悦阁丶风雪 发表于 2015-7-17 22:04
第十题给源码 和注释了。第四题不是写代码的,,就是问答题

主要是网络不懂
2016_小蚂蚁 发表于 2016-10-13 09:39
您在黑马程序员?毕业了吗?
zxcuper 发表于 2016-10-16 14:35
额  表示不玩着东西
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 11:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表