A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

提示: 该帖被管理员或版主屏蔽

36 个回复

正序浏览

你的这个程序是指定目录下所有.txt文件拷贝到另一个目的中,并将扩展名改为.java吧
回复 使用道具 举报
楼主好厉害
回复 使用道具 举报
fjb0902 来自手机 中级黑马 2015-9-13 21:51:04
34#
值得收藏,
回复 使用道具 举报
额,貌似。。。。。。和谐了
回复 使用道具 举报
哇哇 这个很屌
回复 使用道具 举报
Zack 中级黑马 2015-9-12 15:07:18
31#
回复看题 学习一下
回复 使用道具 举报
多谢分享,可以借鉴学习。
回复 使用道具 举报
已收  谢谢分享
回复 使用道具 举报
收了,以后好好练习
回复 使用道具 举报
最好还是加上注释,好多看的费解
回复 使用道具 举报
多谢分享!
回复 使用道具 举报
asinzuo 来自手机 中级黑马 2015-9-3 22:59:37
25#
Kevin.Kang 发表于 2015-9-2 13:04

这一题似乎不能用bos你用代码读中文试试
回复 使用道具 举报
地狱里的帅灵魂 来自手机 中级黑马 2015-9-3 22:55:26
24#
Kevin.Kang 发表于 2015-9-3 22:44

楼主好帅气,总结这么多,有考试里面的题吗
回复 使用道具 举报
  1. package threadTest;

  2. /*
  3. * 编写三各类Ticket、SealWindow、TicketSealCenter
  4. * 分别代表票信息、售票窗口、售票中心。售票中心分配一定数量的票,由若干个售票窗口进行出售,
  5. * 利用你所学的线程知识来模拟此售票过程。
  6. */
  7. public class Ticket {
  8.         private String name;
  9.         private int i;

  10.         public Ticket(String name, int i) {
  11.                 super();
  12.                 this.name = name;
  13.                 this.i = i;
  14.         }

  15.         public Ticket() {
  16.                 super();
  17.                 // TODO Auto-generated constructor stub
  18.         }

  19.         public String getName() {
  20.                 return name;
  21.         }

  22.         public void setName(String name) {
  23.                 this.name = name;
  24.         }

  25.         public int getI() {
  26.                 return i;
  27.         }

  28.         public void setI(int i) {
  29.                 this.i = i;
  30.         }

  31. }
复制代码
  1. package threadTest;

  2. public class TicketCenter {
  3.         private int num;

  4.         public TicketCenter() {
  5.                 super();
  6.                 // TODO Auto-generated constructor stub
  7.         }

  8.         public TicketCenter(int num) {
  9.                 super();
  10.                 this.num = num;
  11.         }

  12.         public int getNum() {
  13.                 return num;
  14.         }

  15.         public void setNum(int num) {
  16.                 this.num = num;
  17.         }

  18. }
复制代码
  1. package threadTest;

  2. public class TicketWindow implements Runnable {
  3.         private TicketCenter tc;
  4.         private Ticket t;
  5.         private int tickets;

  6.         public TicketWindow(Ticket t, TicketCenter tc) {
  7.                 super();
  8.                 this.tc = tc;
  9.                 this.t = t;
  10.                 tickets = tc.getNum();
  11.         }

  12.         @Override
  13.         public void run() {
  14.                 // TODO Auto-generated method stub
  15.                 while (true) {
  16.                         synchronized (this) {
  17.                                 if (tickets > 0) {
  18.                                         System.out.println(Thread.currentThread().getName() + "正在出售第" + (tickets--) + "张票");
  19.                                 }
  20.                         }
  21.                 }
  22.         }

  23. }
复制代码



回复 使用道具 举报


  1. import java.util.Random;

  2. /*
  3. * 声明一个共享数组,起两个线程,
  4. *两个线程分别隔一段时间(可以写一个随机数),给数组中添加数据,
  5. *每一个线程为数组添加3个数据即可
  6. */
  7. public class Test04 {
  8.         public static void main(String[] args) {
  9.                 int[] in = new int[6]; // 需要控制因素
  10.                 ArrayAdd aa = new ArrayAdd(in); // 既然要共享资源,那么这里就只能创建一个线程执行地.
  11.                 for (int x = 0; x < 2; x++) {
  12.                         new Thread(aa).start(); // 创建多个线程.
  13.                 }
  14.         }
  15. }

  16. class ArrayAdd implements Runnable {
  17.         private int[] in; // 共享的资源,在创建时候,只能拥有一份.
  18.         private int num = 0;

  19.         ArrayAdd(int[] in) {
  20.                 this.in = in;
  21.         }

  22.         public void run() {
  23.                 while (num < in.length) {

  24.                         synchronized (in) {
  25.                                 if (num < in.length) {
  26.                                         try {
  27.                                                 Thread.sleep(500); // 线程只是等待一会时间,并没有释放锁.
  28.                                         } catch (InterruptedException e1) {
  29.                                                 e1.printStackTrace();
  30.                                         }
  31.                                         Random rd = new Random();
  32.                                         int i = rd.nextInt(20) + 1;
  33.                                         System.out.println(Thread.currentThread().getName() + "添加了:" + i);
  34.                                         in[num] = i;
  35.                                         num++;
  36.                                         try {
  37.                                                 in.wait(1000); // 放弃cup,放弃锁.让其他线程拿锁.
  38.                                         } catch (InterruptedException e) {
  39.                                                 e.printStackTrace();
  40.                                         }
  41.                                 } else {
  42.                                         break;
  43.                                 }
  44.                         }
  45.                 }
  46.         }
  47. }
复制代码



回复 使用道具 举报
  1. import java.util.Scanner;
  2. import java.util.TreeSet;

  3. /*
  4. * 编写程序,循环接收用户从键盘输入多个字符串,
  5. * 直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
  6. */
  7. public class Test03 {
  8.         public static void main(String[] args) {
  9.                 Scanner s = new Scanner(System.in);
  10.                 TreeSet<String> ts = new TreeSet<>();
  11.                 System.out.println("请开始输入:");
  12.                 while (true) {
  13.                         String str = s.nextLine(); // 字符串每次需要重新获得,因此要定义在循环内.
  14.                         if (str.equals("end")) {
  15.                                 System.out.println("输入结束");
  16.                                 break;
  17.                         } else {
  18.                                 ts.add(str);
  19.                         }
  20.                 }
  21.                 for (String str : ts) {
  22.                         System.out.println(str);
  23.                 }
  24.         }
  25. }
复制代码



回复 使用道具 举报
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import java.util.Set;

  10. /*
  11. * 把当前文本中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数
  12. * 并输出,例如   a : 21次   b: 12次.....
  13. */
  14. public class Test02 {
  15.         public static void main(String[] args) throws IOException {
  16.                 File fiReade = new File("c:\\a.txt");
  17.                 File fiWrite = new File("c:\\b.txt");
  18.                 IORW(fiReade, fiWrite);
  19.         }

  20.         // 1.这是一个将数据分离成字符串,并输出到指定文件的程序.(1)分离字符串,进行后续操作(2)写入文件,完成一个写入文件需求
  21.         public static void IORW(File fiReade, File fiWrite) throws IOException {
  22.                 BufferedReader br = new BufferedReader(new FileReader(fiReade));
  23.                 BufferedWriter bw = new BufferedWriter(new FileWriter(fiWrite));
  24.                 StringBuilder sb = new StringBuilder();

  25.                 String s = null;
  26.                 while ((s = br.readLine()) != null) {
  27.                         sb.append(s); // 先装进字符串.等结束后一次性给调用者.
  28.                         bw.write(s);
  29.                 }
  30.                 ergodic(sb.toString()); // 这是一个注意.应该所有数据完成之后才可以进行迭代遍历出次数.
  31.                 br.close();
  32.                 bw.close();

  33.         }

  34.         // 2.接受分离出来的字符串,然后对字符串进行遍历,并将结果存入map集合.
  35.         public static void ergodic(String s) {
  36.                 Map<Character, Integer> ma = new HashMap<Character, Integer>();
  37.                 char[] ch = s.toCharArray();

  38.                 for (int x = 0; x < ch.length; x++) {
  39.                         int num = 1;
  40.                         if (!ma.containsKey(ch[x])) {
  41.                                 ma.put(ch[x], 1);
  42.                         } else {
  43.                                 num = ma.get(ch[x]); // 这是一个应该注意的,此时要记住之前的value值,再此基础上+1
  44.                                 ma.put(ch[x], ++num);
  45.                         }
  46.                 }
  47.                 ergodicMap(ma);
  48.         }

  49.         // 3.将map集合进行迭代,
  50.         public static void ergodicMap(Map<Character, Integer> ma) {
  51.                 Set<Character> se = ma.keySet();

  52.                 for (char key : se) {
  53.                         System.out.println(key + "  : " + ma.get(key) + " 次");
  54.                 }
  55.         }
  56. }
复制代码



回复 使用道具 举报
  1. package classTest;

  2. /*
  3. * 定义一个交通灯枚举,包含红灯、绿灯、黄灯,
  4. *  需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
  5. */
  6. public class Test01 {
  7.         public static void main(String[] args) {
  8.                 traffic s = traffic.RED.next(); //调用枚举元素以及方法.返回枚举元素.
  9.                 System.out.println(s);
  10.         }
  11. }
  12. enum traffic
  13. {
  14.         RED
  15.         {
  16.                 public traffic next()  //复写父类的抽象方法.返回还是枚举元素.
  17.                 {
  18.                         return GRE;
  19.                 }
  20.         },GRE
  21.         {
  22.                 public traffic next()
  23.                 {
  24.                         return YEL;
  25.                 }
  26.         },YEL
  27.         {
  28.                 public traffic next()
  29.                 {
  30.                         return RED;
  31.                 }
  32.         };
  33.         public abstract traffic next(); //枚举的抽象方法,子类需要复写.
  34. }
复制代码



回复 使用道具 举报
  1. /*
  2. * 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,
  3. * 够28人喝?假如是50人,又需要买多少瓶可乐?
  4. */
  5. public class Test {
  6.         public static void main(String[] args) {
  7.                 int person = 13; // 自定义需求.
  8.                 int cola = run(person); // 接受需要购买的次数.
  9.                 System.out.println(cola);
  10.         }

  11.         public static int run(int person) {
  12.                 int lid = 0; // 盖子数
  13.                 int cola = 0; // 可以喝的可乐数
  14.                 int gouMai = 0; // 需要购买的可乐数.
  15.                 for (; cola < person; cola++) // 无论如何,可以喝的可乐都在增加.
  16.                 {
  17.                         if (lid == 3) // 当盖子够三个了,盖子数又定义为一个.
  18.                         { // 可以喝的可乐在上面已经增加了.
  19.                                 lid = 1;
  20.                         } else {
  21.                                 gouMai++;// 如果不够三个,那么就要去买了,买一瓶,盖子自然增加一个.
  22.                                 lid++;
  23.                         }
  24.                 }
  25.                 return gouMai; // 把购买的次数返回.
  26.         }
  27. }
复制代码



回复 使用道具 举报
  1. package ioTest;

  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.io.IOException;
  5. import java.io.Reader;

  6. /*
  7. * 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,
  8.    让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,
  9.    能够在读取的每行前面都加上有行号和冒号。

  10. */
  11. public class BaoZhuang {
  12.         public static void main(String[] args) throws IOException {
  13.                 File fi = new File("c:\\stu.txt");
  14.                 String s = LineFile(fi);

  15.                 System.out.println(s);
  16.         }

  17.         public static String LineFile(File fi) throws IOException {
  18.                 MyLineReader mr = new MyLineReader(new FileReader(fi));
  19.                 String s = null;
  20.                 StringBuilder sb = new StringBuilder(); // 为了让程序拥有自主控制输出,因此创建.
  21.                 mr.setLen(0); // 设置开始行号.
  22.                 while ((s = mr.MyreadLine()) != null) {
  23.                         sb.append(mr.getLen() + ":" + s + "\r\n");
  24.                 }
  25.                 return sb.toString(); // 将数据返回,让客户拥有输出权利.
  26.         }
  27. }

  28. class MyLineReader {
  29.         private int len; // 自定义行数变量
  30.         private Reader fi; // 读取数据流.

  31.         public MyLineReader(Reader fi) {
  32.                 this.fi = fi;
  33.         }

  34.         public String MyreadLine() throws IOException {
  35.                 len++; // 读取一行之后,len自增.
  36.                 StringBuilder sb = new StringBuilder(); // 将数据存储起来.
  37.                 int i = 0;
  38.                 while ((i = fi.read()) != -1) {
  39.                         if (i == '\r')
  40.                                 continue;
  41.                         if (i == '\n') // 当独到行标记时候,将数据全部返回.
  42.                                 return sb.toString();
  43.                         sb.append((char) i); // 没有到达行标记就继续读取.
  44.                 }
  45.                 if (sb.length() != 0) // StringBuilder的长度不为0,就继续返回数据.
  46.                         return sb.toString();
  47.                 return null; // 否则返回空.因为调用方法时候,是依靠返回是不是null来判断,是不是应该结束.
  48.         }

  49.         public int getLen() { // get,set方法,用来获取行号和设置行号.
  50.                 return len;
  51.         }

  52.         public void setLen(int len) {
  53.                 this.len = len;
  54.         }
  55. }
复制代码



回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马