diff options
6 files changed, 156 insertions, 2 deletions
| diff --git a/works/life/java-practice/javatest/.classpath b/works/life/java-practice/javatest/.classpath index 6bf1eac..9af0373 100644 --- a/works/life/java-practice/javatest/.classpath +++ b/works/life/java-practice/javatest/.classpath @@ -1,10 +1,10 @@  <?xml version="1.0" encoding="UTF-8"?>
  <classpath>
 -	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15">
 +	<classpathentry kind="src" path="src"/>
 +	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
  		<attributes>
  			<attribute name="module" value="true"/>
  		</attributes>
  	</classpathentry>
 -	<classpathentry kind="src" path="src"/>
  	<classpathentry kind="output" path="bin"/>
  </classpath>
 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() + "个因子");
 +	}
 +}
 | 
