案例一: 字符串中数据排序
需求: 有一个字符串: "91 27 46 38 50",请写程序实现最终输出结果是: "27 38 46 50 91"
思路: 1.定义一个字符串
2.把字符串中的数字数据存储到一个int类型的数组中
得到字符串中每一个数字数据?
public String[] split(String regex)
定义一个int数组,把String[]数组中的每一个元素存储到int数组中
public static int parseInt(String s)
3.对int数组进行排序
4.把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
5.输出结果
package test;
import java.util.Arrays;
public class Test48 {
public static void main(String[] args) {
// 1.定义一个字符串
String s = "91 27 46 38 50";
// 2.把字符串中的数字数据存储到一个int类型的数组中
// 得到字符串中每一个数字数据?
// public String[] split(String regex)
// 定义一个int数组,把String[]数组中的每一个元素存储到int数组中
// public static int parseInt(String s)
String[] strArray = s.split(" ");
int[] arr = new int[strArray.length];
for (int i = 0; i<strArray.length; i++){
arr[i] = Integer.parseInt(strArray[i]);
}
// 3.对int数组进行排序
Arrays.sort(arr);
// 4.把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
StringBuilder sb = new StringBuilder();
for (int i = 0; i<arr.length; i++){
if (i == arr.length-1){
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(" ");
}
}
String result = sb.toString();
// 5.输出结果
System.out.println("排序的结果为:"+result);
}
}
案例二: 日期工具类
需求: 定义一个日期工具类(DeteUtils),包含两个方法: 把日期转换为指定格式的字符串; 把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法
思路: 1.定义日期工具类(DateUtils)
2.定义一个方法dateToString,用于把日期转换为指定格式的字符串
返回值类型: String
参数: Date date,String format
3.定义一个方法stringToDate,用于字符串解析为指定格式的日期
返回值类型: Date
参数: String s,String format
4.定义测试类DateDemo,调用日期工具类中的方法
日期工具类(DateUtils)
package test.test49;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 1.定义日期工具类(DateUtils)
* 工具类 构造方法私有,成员方法静态
*/
public class DateUtils {
private DateUtils(){
}
/**
* 2.定义一个方法dateToString,用于把日期转换为指定格式的字符串
* 返回值类型: String
* 参数: Date date,String format
*/
public static String dateToString(Date date,String format){
SimpleDateFormat sdf = new SimpleDateFormat(format);
String s = sdf.format(date);
return s;
}
/**
* 3.定义一个方法stringToDate,用于字符串解析为指定格式的日期
* 返回值类型: Date
* 参数: String s,String format
*/
public static Date stringToDate(String s,String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date d = sdf.parse(s);
return d;
}
}
测试类(DateDemo)
package test.test49;
import java.text.ParseException;
import java.util.Date;
// 4.定义测试类DateDemo,调用日期工具类中的方法
public class DateDemo {
public static void main(String[] args) throws ParseException {
// 创建日期对象
Date d = new Date();
String s1 = DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
System.out.println(s1);
String s2 = DateUtils.dateToString(d, "yyyy年MM月dd日");
System.out.println(s2);
String s3 = DateUtils.dateToString(d, "HH:mm:ss");
System.out.println(s3);
System.out.println("--------");
String s = "2021-11-09 15:05:15";
Date date = DateUtils.stringToDate(s, "yyyy-MM-dd HH:mm:ss");
System.out.println(date);
}
}
案例三: 二月天
需求: 获取任意一年的二月有多少天
思路: 1.键盘录入任意的年份
2.设置日历对象的年、月、日
年: 来自于键盘录入
月: 设置为3月,月份是从0开始的,所以设置的值为2
日: 设置为1月
3.3月1日往前推一天,就是二月的最后一天
4.获取这一天输出即可
package test;
import java.util.Calendar;
import java.util.Scanner;
public class Test50 {
public static void main(String[] args) {
// 1.键盘录入任意的年份
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
// 2.设置日历对象的年、月、日
// 年: 来自于键盘录入
// 月: 设置为3月,月份是从0开始的,所以设置的值为2
// 日: 设置为1月
Calendar c = Calendar.getInstance();
c.set(year,2,1);
// 3.3月1日往前推一天,就是二月的最后一天
c.add(Calendar.DATE,-1);
// 4.获取这一天输出即可
int date = c.get(Calendar.DATE);
System.out.println(year+"年的二月份有"+date+"天");
}
}