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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chen666888 初级黑马   /  2018-1-18 21:29  /  1801 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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流,听君哥说要教我们写(类似熊猫烧香的病毒程序),想想就激动...看来我有一颗不安分的心...哈哈~~~今天先写到这里...



4 个回复

倒序浏览
多敲多练,水到渠成
回复 使用道具 举报
青春就是用来奋斗的
回复 使用道具 举报
可以的兄弟,"年薪"过万,很强势
回复 使用道具 举报
黄马良 来自手机 初级黑马 2018-1-27 10:55:14
报纸
666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马