java点招考试练习题_[Java学习] 黑马javaee点招综合练习

把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。

61.54.231.245

61.54.231.9

61.54.231.246

61.54.231.48

61.53.231.249

package com.itheima3;

http://www.ynmxzx.com/zxzx/bbzx/20160615/3714.html

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Set;

import java.util.TreeMap;

http://www.ynmxzx.com/zxzx/bbzx/20160615/3715.html

/*

* 把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。

* 61.54.231.245

* 61.54.231.9

* 61.54.231.246

* 61.54.231.48

* 61.53.231.249

*http://www.ynmxzx.com/zxzx/bbzx/20160615/3716.html

* */

public class Test6 {

public static void main(String[] args) throws IOException {

//创建高效字符输出流对象,将读到的数据存放到指定文件中

BufferedWriter bw = new BufferedWriter(new FileWriter("Test6.txt"));

//将数据写出到文件中

bw.write("61.54.231.245");

//每次写完一个数据换行

bw.newLine();

bw.write("61.54.231.9");

bw.newLine();

bw.write("61.54.231.246");

bw.newLine();

bw.write("61.54.231.48");

bw.newLine();

bw.write("61.53.231.249");

bw.close();http://www.ynmxzx.com/zxzx/bbzx/20160615/3717.html

//创建高效字符输入流

BufferedReader br= new BufferedReader(new FileReader("Test6.txt"));

//创建一个双列集合存放数据

TreeMap map = new TreeMap();

String str;

//循环读取文件中的数据

while((str=br.readLine())!=null){

//如果读到的数据不为空,那么就将读到的数据以“.”进行切割,然后存放到一个字符串数组中

String[] split = str.split("\\.");

//将数组的每个元素转换成数字然后再将转换后的数字按照IP地址的进制依次乘以256,然后相加,最终得到一个数字类型的值

int parseInt = Integer.parseInt(split[0])*256*256*256

+ Integer.parseInt(split[1])*256*256

+ Integer.parseInt(split[2])*256

+ Integer.parseInt(split[3]);

//将得到的这个数值和原来的字符串以键值对应关系存放到集合中

map.put(parseInt, str);

}http://www.ynmxzx.com/zxzx/bbzx/20160615/3718.html

//关流

br.close();

//将集合中所有键存放到一个set集合中

Set keySet = map.keySet();

//遍历集合,通过键获取值,并依次打印结果

for (Integer integer : keySet) {

System.out.println(map.get(integer));

}www.ynmxzx.com

}

}

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如: 键盘输入6,打印6秒; 键盘输入60,打印1分; 键盘输入66,打印1分6秒; 键盘输入666,打印11分6秒; 键盘输入3601,打印1小时1秒 2、 编程计算3乘8等于几,什么方法效率更高? 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; 求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55 5、 写出以下代码执行结果,分析为什么?(没有分析结果不得分) public class Test { public static void main(String[] args) { String s = "abc"; s.substring(1); s.replace("bc", "xyz"); System.out.println(s); String value = new String ("abc"); System.out.println(s == value); } } 6、 用控制台程序倒着输出九九乘法表;输出结果按下图所示: 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 …… 1*3=3 2*3=6 3*3=9 1*2=2 2*2=4 1*1=1 7、 用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly? 8、 声明类Person,包含2个成员变量:name、age。定义函数sayHello(),调用时输出:我叫***,今年***岁了。声明类Chinese继承Person。 9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt 10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
1.方法中的内部类能不能访问方法中的局部变量,为什么? 2.分析运行结果,说明原理。(没有分析结果不得分) import java.util.ArrayList; class Data { int val; } public class Test { public static void main(String args[]) { Data data = new Data(); ArrayList list = new ArrayList(); for (int i = 100; i < 103; i++) { data.val = i; list.add(data); } for (Data d : list) { System.out.println(d.val); } } } 3.编写一个类,在main方法中定义一个Map对象(采用泛型), * 加入若干个对象,然后遍历并打印出各元素的key和value。 4.编写一个类,在main方法中定义一个Map对象(采用泛型), * 加入若干个对象,然后遍历并打印出各元素的key和value。 5.定义一个文件输入流,调用read(byte[] b)方法将exercise.txt * 文件中的所有内容打印出来(byte数组的大小限制为5)。 6.存在一个JavaBean,它包含以下几种可能的属性: 1:boolean/Boolean 2:int/Integer 3:String 4:double/Double 属性名未知,现在要给这些属性设置默认值,以下是要求的默认值: String类型的默认值为字符串 www.itheima.com int/Integer类型的默认值为100 boolean/Boolean类型的默认值为true double/Double的默认值为0.01D. 只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现 7.有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常, * 在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。 * 在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。 * 完成这个例子,请说出java中针对异常的处理机制。 8.编写一个程序,获取10个1至20的随机数,要求随机数不能重复。 9.编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数, * 然后打印出这个十进制整数对应的二进制形式。 * 这个程序要考虑输入的字符串不能转换成一个十进制整数的情况, * 并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。 * 提示:十进制数转二进制数的方式是用这个数除以2, * 余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2, * 这次得到的余数就是次低位,如此循环,直到被除数为0为止。 * 其实,只要明白了打印出一个十进制数的每一位的方式 * (不断除以10,得到的余数就分别是个位,十位,百位), * 就很容易理解十进制数转二进制数的这种方式。 10.有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。 * 问:最后剩下的是100人中的第几个人?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值