小说网站开发设计一个人做两个博客网站
周报
代码行数:
|   周一  |   581  | 
|   周二  |   601  | 
|   周三  |   615  | 
|   周四  |   591  | 
|   周五  |   570  | 
|   周六  |   561  | 
|   周日  |   577  | 
遇到的问题:
项目启动很慢,要将近5分钟才能开启项目,对开发造成很大困扰。
断点打在奇怪的地方,造成启动缓慢。断点静音后项目恢复正常。
判断字符串是否包含某个字符:str.contains(“@”);
判断字符串是否完全由数字构成:org.apache.commons.lang3.StringUtils提供了丰富的字符串解析的工具包,其中isNumeric(String Str)就是提供解析是否为数字类型的方法。
StringUtils.isNumeric(str);
源代码:
public static boolean isNumeric(final CharSequence cs) {
         // 判断是否为空,如果为空则返回false
         if (isEmpty(cs)) {
             return false;
         }
         // 通过 length() 方法计算cs传入进来的字符串的长度,并将字符串长度存放到sz中
         final int sz = cs.length();
         // 通过字符串长度循环
         for (int i = 0; i < sz; i++) {
             // 判断每一个字符是否为数字,如果其中有一个字符不满足,则返回false
             if (!Character.isDigit(cs.charAt(i))) {
                 return false;
             }
         }
         // 验证全部通过则返回true
         return true;
     }
 字符串最后一位是不是空格
endsWith(“ ”)
  
算法题:
问题描述
 小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO 排列后为 AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY。
请问对于以下字符串,排列之后字符串是什么?
WHERETHEREISAWILLTHEREISAWAY
import java.util.Arrays;
  
 public class Main {
     public static void main(String[] args) {
         String arr = "WHERETHEREISAWILLTHEREISAWAY";
         char arr1[] = arr.toCharArray();//将字符串转为数组
         Arrays.sort(arr1);//数组排序
         for(int i = 0; i < arr1.length; i++) {
             System.out.print(arr1[i]);
         }
     }
比较Date大小
 dates[i].compareTo(dates[j]) > 0
 小 -1,等 0,大 1
String->Date
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 Date datr=sdf.parse(str);
题目描述
 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10×1010×10 相互连通的小房间组成的。
房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:
�L 表示走到左边的房间,
 �R 表示走到右边的房间,
 �U 表示走到上坡方向的房间,
 �D 表示走到下坡方向的房间。
 X 星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!
开始的时候,直升机把 100100 名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。
迷宫地图如下:
UDDLUULRUL
 UURLLLRRRU
 RRUURLDLRD
 RUDDDDUUUU
 URUDLLRRUU
 DURLRLDLRL
 ULLURLLRDU
 RDLULLRDDD
 UUDDUDUDLL
 ULRDLUURRR
请你计算一下,最后,有多少玩家会走出迷宫,而不是在里边兜圈子?
如果你还没明白游戏规则,可以参看下面一个简化的 4x4 迷宫的解说图:
import java.util.Scanner;
 // 1:无需package
 // 2: 类名必须Main, 不可修改
  
 public class Main {
   static char[][] arr;
   static int[][] vis;
   static int ans=0;
     public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);
         //在此输入您的代码...
         arr=new char[10][10];
         for(int i = 0;i<arr.length;i++) {
             String s = scan.next();
             arr[i] = s.toCharArray();
         }
         for(int i=0;i<arr.length;i++){
             for(int j = 0;j<arr[0].length;j++) {
  
           vis=new int[10][10];
           dfs(i,j);
         }}
         System.out.println(22);
         scan.close();
     }
     public static void dfs(int x,int y){
       if(x<=-1||y>=10||y<=-1||x>=10){
         ans++;
         return;
       }
       if(vis[y][x]==1){
         return;
       }
       vis[y][x]=1;
       if(arr[y][x]=='U'){
         dfs(x,y-1);
       }
             if(arr[y][x]=='D'){
         dfs(x,y+1);
       }
             if(arr[y][x]=='L'){
         dfs(x-1,y);
       }
             if(arr[y][x]=='R'){
         dfs(x+1,y-1);
       }
     }
 }
日期问题
 题目描述
 小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。
更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。
比如 02/03/04,可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。
给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?
输入输出样例
 示例
输入
02/03/04
 输出
2002-03-04
 2004-02-03
 2004-03-02
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Scanner;
  
 public class RiQiWenTi {
     public static void main(String[] args) throws ParseException {
         Scanner scan = new Scanner(System.in);
         //在此输入您的代码...
         String d = scan.nextLine();
         String[] strs = d.split("/");
         Integer[] integers = new Integer[3];
         for (int i = 0; i < 3; i++) {
             integers[i] = Integer.valueOf(strs[i]);
         }
         String[] s012 = new String[3];
         Integer[] i012 = new Integer[3];
         s012[0] = strs[0];
         s012[1] = strs[1];
         s012[2] = strs[2];
         i012[0] = integers[0];
         i012[1] = integers[1];
         i012[2] = integers[2];
         String[] s201 = new String[3];
         Integer[] i201 = new Integer[3];
         s201[0] = strs[2];
         s201[1] = strs[0];
         s201[2] = strs[1];
         i201[0] = integers[2];
         i201[1] = integers[0];
         i201[2] = integers[1];
         String[] s210 = new String[3];
         Integer[] i210 = new Integer[3];
         s210[0] = strs[2];
         s210[1] = strs[1];
         s210[2] = strs[0];
         i210[0] = integers[2];
         i210[1] = integers[1];
         i210[2] = integers[0];
         String pd1 = panduan(s012, i012);
         String pd2 = panduan(s210, i210);
         String pd3 = panduan(s201, i201);
         String[] strings = new String[4];
         strings[0] = pd1;
         strings[1] = pd2;
         strings[2] = pd3;
         Date[] dates = new Date[4];
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         if (pd1 != null) {
             dates[0] = sdf.parse(pd1);
         }
         if (pd2 != null) {
             dates[1] = sdf.parse(pd2);
         }
         if (pd3 != null) {
             dates[2] = sdf.parse(pd3);
         }
         for (int i = 0; i < 3; i++) {
             for (int j = i + 1; j < 3; j++) {
                 if (dates[i] == null || dates[j] == null) {
                 } else {
                     if (dates[i].compareTo(dates[j]) > 0) {
                         dates[3] = dates[i];
                         dates[i] = dates[j];
                         dates[j] = dates[3];
                         strings[3] = strings[i];
                         strings[i] = strings[j];
                         strings[j] = strings[3];
                     }else if (dates[i].compareTo(dates[j])==0){
                         strings[j]=null;
                     }
                 }
             }
         }
         if (strings[0] != null) {
             System.out.println(strings[0]);
         }
         if (strings[1] != null) {
             System.out.println(strings[1]);
         }
         if (strings[2] != null) {
             System.out.println(strings[2]);
         }
         scan.close();
     }
  
     public static String panduan(String[] strings, Integer[] integers) {
         int[] max_days = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
         int[] Rmax_days = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
         if (integers[0] % 4 == 0) {
             if (integers[1] <= 12 && integers[1] > 0 && integers[2] > 0 && integers[2] <= Rmax_days[integers[1]]) {
                 if (integers[0] < 60) {
                     return ("20" + strings[0] + "-" + strings[1] + "-" + strings[2]);
  
                 } else {
                     return ("19" + strings[0] + "-" + strings[1] + "-" + strings[2]);
                 }
             }
         } else {
             if (integers[1] <= 12 && integers[1] > 0 && integers[2] > 0 && integers[2] <= max_days[integers[1]]) {
                 if (integers[0] < 60) {
                     return ("20" + strings[0] + "-" + strings[1] + "-" + strings[2]);
                 } else {
                     return ("19" + strings[0] + "-" + strings[1] + "-" + strings[2]);
                 }
             }
         }
         return null;
     }
 }
