From 845cbd79a68ed1a601e6b8eea4268a037dc3468b Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 27 May 2021 15:47:34 +0800 Subject: import(life): Add java07. --- .../javatest/src/javatest/e0701/Main.java | 25 ++++++++++++ .../javatest/src/javatest/e0702/Main.java | 15 ++++++++ .../javatest/src/javatest/p0701/StringExample.java | 45 ++++++++++++++++++++++ .../javatest/src/javatest/p0702/DateExample.java | 40 +++++++++++++++++++ .../src/javatest/p0703/BigIntegerExample.java | 29 ++++++++++++++ 5 files changed, 154 insertions(+) create mode 100644 works/life/java-practice/javatest/src/javatest/e0701/Main.java create mode 100644 works/life/java-practice/javatest/src/javatest/e0702/Main.java create mode 100644 works/life/java-practice/javatest/src/javatest/p0701/StringExample.java create mode 100644 works/life/java-practice/javatest/src/javatest/p0702/DateExample.java create mode 100644 works/life/java-practice/javatest/src/javatest/p0703/BigIntegerExample.java (limited to 'works/life/java-practice/javatest/src') diff --git a/works/life/java-practice/javatest/src/javatest/e0701/Main.java b/works/life/java-practice/javatest/src/javatest/e0701/Main.java new file mode 100644 index 0000000..0211750 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0701/Main.java @@ -0,0 +1,25 @@ +package javatest.e0701; + +public class Main { + private static int countSubstring(String string, String substring) { + int count = 0; + int currentIndex = 0; + + while (true) { + int i = string.indexOf(substring, currentIndex); + if (i == -1) + break; + count++; + currentIndex = i + 1; + } + + return count; + } + + public static void main(String[] args) { + String string = "ababaaba"; + String substring = "aba"; + + System.out.println(substring + "在" + string + "中出现了" + countSubstring(string, substring) + "次!"); + } +} diff --git a/works/life/java-practice/javatest/src/javatest/e0702/Main.java b/works/life/java-practice/javatest/src/javatest/e0702/Main.java new file mode 100644 index 0000000..15ececc --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0702/Main.java @@ -0,0 +1,15 @@ +package javatest.e0702; + +import java.util.*; +import java.time.*; +import java.time.format.DateTimeFormatter; + +public class Main { + public static void main(String[] args) { + try (Scanner scanner = new Scanner(System.in)) { + LocalDateTime birthday = LocalDate.parse(scanner.nextLine(), DateTimeFormatter.ISO_DATE).atStartOfDay(); + LocalDateTime now = LocalDate.now().atStartOfDay(); + System.out.println("你的生日距今天" + Duration.between(birthday, now).toDays() + "天!"); + } + } +} diff --git a/works/life/java-practice/javatest/src/javatest/p0701/StringExample.java b/works/life/java-practice/javatest/src/javatest/p0701/StringExample.java new file mode 100644 index 0000000..be2c7b9 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0701/StringExample.java @@ -0,0 +1,45 @@ +package javatest.p0701; + +public class StringExample { + public static void main(String args[]) { + String s1 = new String("you are a student"), s2 = new String("how are you"); + if (s1.equals(s2)) // 使用equals方法判断s1与s2是否相同 + { + System.out.println("s1与s2相同"); + } else { + System.out.println("s1与s2不相同"); + } + String s3 = new String("22030219851022024"); + if (s3.startsWith("220302")) // 判断s3的前缀是否是“220302”。 + { + System.out.println("吉林省的身份证"); + } + String s4 = new String("你"), s5 = new String("我"); + if (s4.compareTo(s5) > 0)// 按着字典序s4大于s5的表达式。 + { + System.out.println("按字典序s4大于s5"); + } else { + System.out.println("按字典序s4小于s5"); + } + int position = 0; + String path = "c:\\java\\jsp\\A.java"; + position = path.lastIndexOf('\\'); // 获取path中最后出现目录分隔符号的位置 + System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:" + position); + String fileName = path.substring(12, 18); // 获取path中“A.java”子字符串。 + System.out.println("c:\\java\\jsp\\A.java中含有的文件名:" + fileName); + String s6 = new String("100"), s7 = new String("123.678"); + int n1 = Integer.parseInt(s6); // 将s6转化成int型数据。 + double n2 = Double.parseDouble(s7); // 将s7转化成double型数据。 + double m = n1 + n2; + System.out.println(m); + String s8 = String.valueOf(m); // String调用valuOf(int n)方法将m转化为字符串对象 + position = s8.indexOf("."); + String temp = s8.substring(position + 1); + System.out.println("数字" + m + "有" + temp.length() + "位小数"); + String s9 = new String("ABCDEF"); + char a[] = s8.toCharArray(); // 将s8存放到数组a中。 + for (int i = a.length - 1; i >= 0; i--) { + System.out.print(" " + a[i]); + } + } +} diff --git a/works/life/java-practice/javatest/src/javatest/p0702/DateExample.java b/works/life/java-practice/javatest/src/javatest/p0702/DateExample.java new file mode 100644 index 0000000..74e4901 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0702/DateExample.java @@ -0,0 +1,40 @@ +package javatest.p0702; + +import java.util.*; +import java.time.*; + +import javax.swing.JOptionPane; + +public class DateExample { + public static void main(String args[]) { + String str = JOptionPane.showInputDialog("输入第一个日期的年份:"); + int yearOne = Integer.parseInt(str); + str = JOptionPane.showInputDialog("输入该年的月份:"); + int monthOne = Integer.parseInt(str); + str = JOptionPane.showInputDialog("输入该月份的日期:"); + int dayOne = Integer.parseInt(str); + str = JOptionPane.showInputDialog("输入第二个日期的年份:"); + int yearTwo = Integer.parseInt(str); + str = JOptionPane.showInputDialog("输入该年的月份:"); + int monthTwo = Integer.parseInt(str); + str = JOptionPane.showInputDialog("输入该月份的日期:"); + int dayTwo = Integer.parseInt(str); + Calendar calendar = Calendar.getInstance(); // 初始化日历对象 + calendar.set(yearOne, monthOne, dayOne); // 将calendar的时间设置为yearOne年monthOne月dayOne日 + long timeOne = calendar.getTimeInMillis(); // calendar表示的时间转换成毫秒 + calendar.set(yearTwo, monthTwo, dayTwo); // 将calendar的时间设置为yearTwo年monthTwo月dayTwo日 + long timeTwo = calendar.getTimeInMillis(); // calendar表示的时间转换成毫秒。 + Date date1 = new Date(timeOne); // 用timeOne做参数构造date1 + Date date2 = new Date(timeTwo); // 用timeTwo做参数构造date2 + if (date2.equals(date1)) { + System.out.println("两个日期的年、月、日完全相同"); + } else if (date2.after(date1)) { + System.out.println("您输入的第二个日期大于第一个日期"); + } else if (date2.before(date1)) { + System.out.println("您输入的第二个日期小于第一个日期"); + } + long days = Duration.between(date1.toInstant(), date2.toInstant()).toDays();// 计算两个日期相隔天数 + System.out.println(yearOne + "年" + monthOne + "月" + dayOne + "日和" + yearTwo + "年" + monthTwo + "月" + dayTwo + + "相隔" + days + "天"); + } +} diff --git a/works/life/java-practice/javatest/src/javatest/p0703/BigIntegerExample.java b/works/life/java-practice/javatest/src/javatest/p0703/BigIntegerExample.java new file mode 100644 index 0000000..05b2e38 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0703/BigIntegerExample.java @@ -0,0 +1,29 @@ +package javatest.p0703; + +import java.math.*; + +class BigIntegerExample { + public static void main(String args[]) { + BigInteger n1 = new BigInteger("987654321987654321987654321"), + n2 = new BigInteger("123456789123456789123456789"), result = null; + result = n1.add(n2); // n1和n2做加法运算 + System.out.println("和:" + result.toString()); + result = n1.subtract(n2);// n1和n2做减法运算 + System.out.println("差:" + result.toString()); + result = n1.multiply(n2);// n1和n2做乘法运算 + System.out.println("积:" + result.toString()); + result = n1.divide(n2);// n1和n2做除法运算 + System.out.println("商:" + result.toString()); + BigInteger m = new BigInteger("1968957"), COUNT = new BigInteger("0"), ONE = new BigInteger("1"), + TWO = new BigInteger("2"); + System.out.println(m.toString() + "的因子有:"); + for (BigInteger i = TWO; i.compareTo(m) < 0; i = i.add(ONE)) { + if ((n1.remainder(i).compareTo(BigInteger.ZERO)) == 0) { + COUNT = COUNT.add(ONE); + System.out.print(" " + i.toString()); + } + } + System.out.println(""); + System.out.println(m.toString() + "一共有" + COUNT.toString() + "个因子"); + } +} -- cgit v1.2.3