黑马程序员技术交流社区

标题: 奋斗吧,骚年``` [打印本页]

作者: chen666888    时间: 2018-1-18 21:29
标题: 奋斗吧,骚年```
本帖最后由 chen666888 于 2018-1-24 22:12 编辑

从基础班到就业班...不知不觉一个多月了...时间过得真快,每天都在敲代码中度过...学习JAVA第一天的时候,助教老师调侃过一句话...键盘敲烂,年薪过万...仿佛就发生在昨天...
从刚到黑马时的忐忑,怕学不好,到现在能独立解决一些小问题,每天都在进步...现在还在打基础阶段,每天的知识点很多,有时候做作业都要做到半夜,但是每当把遇到的一些小bug解决掉,那种感觉真是太爽了...前几天学到日期类,可以用代码计算每个人从出生到现在过了多少天....也可以计算2个恋人从相知到相爱,度过了多少个甜蜜的日子...蛮有意思的...
package com.lianxiti_jiuye05;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test03 {
// 1.从键盘录入一个日期字符串,格式为 xxxx-xx-xx,代表该人的出生日期
// 2.利用人出生日期到当前日期所经过的毫秒值计算出这个人活了多少天
public static void main(String[] args) throws ParseException {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个日期,格式为 xxxx-xx-xx");
  String date = sc.nextLine();//可以输入自己的生日如  2000-01-01
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date d1 = sdf.parse(date);
  Date d2 = sdf.parse("2018-01-14");//当天日期或者相恋的日期.
  
  long time1 = d1.getTime();
  long time2 = d2.getTime();
  
  System.out.println("这个人活了(认识了: ): "+ (time2 - time1) / 1000 / 60 / 60 / 24 +"天");
}
}



还有一个比较经典的计算字符出现个数的方式,也来分享一下

package com.itheima.test05;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Test05 {
// 统计本项目中(所有java文件中)每个字母出现的次数(不用按照字母的顺序排列),按照如下格式打印:
//    a(1000)b(2000)c(3000)d(4000)...
public static Map<Character, Integer> map = new HashMap<>();

public static void main(String[] args) throws IOException {
  String path = "E:\\develop\\workspace\\lianxiti";
  File f = new File(path);
  
  readFile(f);
  Set<Entry<Character, Integer>> entrys = map.entrySet();
  for (Entry<Character, Integer> entry : entrys) {
   System.out.print(entry.getKey() + "(" + entry.getValue() + ")");
  }
}
public static void readFile(File f) throws IOException {
  if (f.isDirectory()) {
   File[] files = f.listFiles();
   for (File file : files) {
    String name = file.getName();
    if (file.isFile()) {
     if (name.endsWith(".java")) {
      inPutFile(file);
     }
    }else {
     readFile(file);
    }
   }
  }
}

public static void inPutFile(File f) throws IOException {
  
  BufferedReader br = new BufferedReader(new FileReader(f));
  String line;
  while ((line = br.readLine()) != null) {
   char[] chs = line.toCharArray();
   for (int i = 0; i < chs.length; i++) {
    char key = chs;
    if ((key+"").matches("[a-zA-Z]")) {
     if (!map.containsKey(key)) {
      map.put(key, 1);
     }else {
      map.put(key, map.get(key) + 1);
     }
    }
   }
  }
  br.close();
}


}



代码很简单,也很简短...还有一些别的运用,虽然是基础阶段,但就像递归的原理一样,把每个小问题都解决了,那么小问题组成的大问题自然而然就消失不见了...
明天继续学习IO流,听君哥说要教我们写(类似熊猫烧香的病毒程序),想想就激动...看来我有一颗不安分的心...哈哈~~~今天先写到这里...




作者: 小堂姐姐    时间: 2018-1-26 15:37
多敲多练,水到渠成
作者: 采姑娘的小蘑菇    时间: 2018-1-26 15:53
青春就是用来奋斗的
作者: 伦大大    时间: 2018-1-26 21:30
可以的兄弟,"年薪"过万,很强势
作者: 黄马良    时间: 2018-1-27 10:55
666666666666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2