1 Java工具类 2 1.Date时间 3 Date date = new Date(); 4 System.out.println(date); 5 System.out.println(date.toLocaleString());//过时的方法 6 System.out.println(date.getDate());//当前的日期 一个月的第几天 7 System.out.println(date.getDay());//星期几 返回值 (0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) 表示一周中的某一天 8 System.out.println(date.getHours());//当前小时 9 System.out.println(date.getMinutes());//当前分钟 10 System.out.println(date.getMonth());//0序的 11 从0开始 11 System.out.println(date.getSeconds()); 12 System.out.println(date.getTime());//返回的是一个时间差;从现在和1970年0点0分0秒的时间差,毫秒表示 13 System.out.println(date.getYear());//1900年和现在的一个时间差 以年为单位 14 date.after(when)//date 是否在when 之后 返回boolean 15 date.before(when)//date 是否在when 之前 返回boolean 16 date.setYear(82);//从1900开始计时 17 System.out.println(date.toLocaleString()); 18 19 2.DateFormat、SimpleDateFormat 格式化日期时间 20 DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒"); 21 String dateStr = sdf.format(date); 22 System.out.println(dateStr); 23 DateFormat 这是一个抽象类,只能使用它的子类SimpleDateFormat 进行日期的格式化 24 25 3.Calendar日历日期 26 这是一个抽象类,不能new 只能通过它的静态的方法构造对象 27 Calendar calendar = Calendar.getInstance(); 28 System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); 29 System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); 30 System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); 31 System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); 32 calendar.add(Calendar.DAY_OF_MONTH, 1);//增加了一天 33 calendar.set(Calendar.DAY_OF_MONTH, 1);//第二种修改字段属性的方式 34 System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); 35 System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); 36 System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); 37 38 System.out.println(calendar.getFirstDayOfWeek()); 39 System.out.println(calendar.getTimeInMillis()); 40 System.out.println(calendar.getMaximum(Calendar.DAY_OF_YEAR)); 41 42 作者:王立平的博客 43 来源:CSDN 44 原文:https://blog.csdn.net/qq_37131111/article/details/78824176 45 版权声明:本文为博主原创文章,转载请附上博文链接! 46 47 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 48 49 public class Exercise_09_01 { 50 public static void main(String[] args) { 51 //读取命令行数据,并进行类型转换 52 int x = Integer.parseInt(args[0]); 53 int y = Integer.parseInt(args[1]); 54 int z = x+y; 55 System.out.println(z); 56 57 } 58 } 59 2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。 60 public class Test { 61 62 /** 63 * @param args 64 */ 65 public static void main(String[] args) { 66 Scanner in = new Scanner(System.in); 67 String s = in.next(); 68 int num = 0; 69 for(int i =0;i < s.length();i++){ 70 if(s.charAt(i)=='e'){ 71 num++; 72 } 73 } 74 System.out.println(num); 75 } 76 77 } 78 79 3、生成十个0~100之间的随机数,放到数组中,然后排序输出。 80 public class Test { 81 public static void num(){ 82 83 int[] a = new int[8]; 84 for(int i = 0;i<a.length;i++){ 85 a[i] = (int)(Math.random()*101); 86 } 87 Arrays.sort(a); 88 for(int i = 0;i<a.length;i++){ 89 System.out.println(a[i]); 90 } 91 92 } 93 public static void main(String[] args) { 94 num(); 95 } 96 } 97 98 99 4、 巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。 100 101 public class TimeTest { 102 103 public void getTime(int y,int m,int d,int h,int mi){ 104 //获取Calendar实例 105 Calendar c = Calendar.getInstance(); 106 //设置巴黎时间 107 c.set(y,m,d,h-7,mi); 108 109 //输出巴黎时间 110 System.out.println("巴黎时间是"+c.get(Calendar.YEAR)+"年"+ 111 ((c.get(Calendar.MONTH))+1)+"月"+ 112 c.get(Calendar.DAY_OF_MONTH)+"日"+ 113 c.get(Calendar.HOUR_OF_DAY)+"点"+ 114 c.get(Calendar.MINUTE)+"分"); 115 //设置纽约时间 116 c.set(y,m,d,h-12,mi); 117 //输出纽约时间 118 System.out.println("纽约时间是"+c.get(Calendar.YEAR)+"年"+ 119 ((c.get(Calendar.MONTH))+1)+"月"+ 120 c.get(Calendar.DAY_OF_MONTH)+"日"+ 121 c.get(Calendar.HOUR_OF_DAY)+"点"+ 122 c.get(Calendar.MINUTE)+"分"); 123 124 } 125 126 public static void main(String[] args) { 127 TimeTest ex = new TimeTest(); 128 //设置北京时间,月份是从0开始,数字2代表3月份 129 ex.getTime(2015, 2, 28, 16, 50); 130 131 } 132 } 133 5、解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名 134 如果邮箱地址不合法则显示不合法的原因 135 提示:邮箱地址不合法的因素: 136 1) 邮箱地址中不包含@或。 137 2) 邮箱地址中含有多了@或。 138 3) 邮箱地址中。出现在@的前面 139 4) 用户名里有其他字符 140 实现步骤: 141 (1) 创建一个类,类名:mailtest 142 类图如下: 143 “” 144 (类名和方法名必须与要求一样。区分大小写) 145 public class Mailtest { 146 public static boolean testMail(){ 147 Scanner in = new Scanner(System.in); 148 String s = in.next(); 149 if(s.indexOf("@")==-1||s.indexOf(".")==-1){ 150 151 System.out.println("邮箱地址中不包含@或."); 152 return false; 153 } 154 155 if(s.indexOf("@")!=s.lastIndexOf("@")||s.indexOf(".")!=s.lastIndexOf(".")){ 156 System.out.println("邮箱地址中含有多了@或."); 157 return false; 158 } 159 160 if(s.indexOf("@")>s.lastIndexOf(".")){ 161 System.out.println("邮箱地址中.出现在@的前面"); 162 return false; 163 } 164 for(int i=0;i<s.indexOf("@");i++){ 165 if( (s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z') ){ 166 167 }else{ 168 System.out.println("用户名里有其他字符"); 169 return false; 170 } 171 172 } 173 return true; 174 } 175 } 176 177 public class Test { 178 179 180 /** 181 * @param args 182 */ 183 public static void main(String[] args) { 184 // TODO Auto-generated method stub 185 186 if(Mailtest.testMail()){ 187 System.out.println("邮箱格式合法"); 188 }else{ 189 System.out.println("邮箱格式不合法"); 190 } 191 } 192 193 } 194 6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。 195 public class Test { 196 /** 197 * @param args 198 */ 199 public static void main(String[] args) { 200 // TODO Auto-generated method stub 201 Scanner in = new Scanner(System.in); 202 String s = in.next(); 203 String a = in.next(); 204 205 int num = 0;//i是循環的次數 206 207 for(int i = 0;i<s.length()-a.length();i=s.indexOf(a, i)+1){ 208 if(s.indexOf(a, i)!=-1){ 209 num++; 210 } 211 } 212 System.out.println(num); 213 } 214 } 215 216 7、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 217 public class Test { 218 219 /** 220 * @param args 221 */ 222 public static void main(String[] args) { 223 // TODO Auto-generated method stub 224 Scanner in = new Scanner(System.in); 225 String s = in.next(); 226 int num=0,eng=0,china=0; 227 for(int i =0;i<s.length();i++){ 228 if(s.charAt(i)>='0'&&s.charAt(i)<='9'){ 229 num++; 230 }else if((s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z')){ 231 eng++; 232 }else if((19968 <= s.charAt(i) && s.charAt(i) <40623)) { 233 china++; 234 } 235 236 } 237 238 System.out.println("数字是:"+num); 239 System.out.println("英文是:"+eng); 240 System.out.println("中文是:"+china); 241 } 242 243 } 244 245 246 8. 有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。 247 public class Test { 248 249 /** 250 * @param args 251 */ 252 public static void main(String[] args) { 253 // TODO Auto-generated method stub 254 if(foo()){ 255 System.out.println("是回数"); 256 }else{ 257 System.out.println("不是回数"); 258 } 259 } 260 261 public static boolean foo(){ 262 Scanner in = new Scanner(System.in); 263 String s = in.next(); 264 int j = s.length()-1; 265 for(int i=0;i<s.length()/2;i++){ 266 267 if(s.charAt(i)!=s.charAt(j)){ 268 269 return false; 270 } 271 j--; 272 } 273 274 return true; 275 } 276 }