diff options
24 files changed, 947 insertions, 0 deletions
| diff --git a/works/life/java-practice/.gitignore b/works/life/java-practice/.gitignore new file mode 100644 index 0000000..acec74a --- /dev/null +++ b/works/life/java-practice/.gitignore @@ -0,0 +1,60 @@ +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project diff --git a/works/life/java-practice/javatest/.classpath b/works/life/java-practice/javatest/.classpath new file mode 100644 index 0000000..6bf1eac --- /dev/null +++ b/works/life/java-practice/javatest/.classpath @@ -0,0 +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">
 +		<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/.project b/works/life/java-practice/javatest/.project new file mode 100644 index 0000000..34df9f4 --- /dev/null +++ b/works/life/java-practice/javatest/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<projectDescription>
 +	<name>javatest</name>
 +	<comment></comment>
 +	<projects>
 +	</projects>
 +	<buildSpec>
 +		<buildCommand>
 +			<name>org.eclipse.jdt.core.javabuilder</name>
 +			<arguments>
 +			</arguments>
 +		</buildCommand>
 +	</buildSpec>
 +	<natures>
 +		<nature>org.eclipse.jdt.core.javanature</nature>
 +	</natures>
 +</projectDescription>
 diff --git a/works/life/java-practice/javatest/src/javatest/ArrayDemo2.java b/works/life/java-practice/javatest/src/javatest/ArrayDemo2.java new file mode 100644 index 0000000..8d7b2ae --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/ArrayDemo2.java @@ -0,0 +1,13 @@ +package javatest;
 +
 +public class ArrayDemo2 {
 +	public static void main(String args[]) {
 +		int score[][] = { { 10, 3 }, { -1, 119, -51 }, { 100, 56, 90, 49 } };
 +		for (int i = 0; i < score.length; i++) {
 +			for (int j = 0; j < score[i].length; j++) {
 +				System.out.print(score[i][j] + "\t");
 +			}
 +			System.out.println("");
 +		}
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/ArrayDemo3.java b/works/life/java-practice/javatest/src/javatest/ArrayDemo3.java new file mode 100644 index 0000000..f053b4b --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/ArrayDemo3.java @@ -0,0 +1,31 @@ +package javatest;
 +
 +public class ArrayDemo3 {
 +	public static void main(String args[]) {
 +		int score[] = { 25, 78, 35, 84, 69, 74, 12, 56 };
 +		int age[] = { 32, 52, 12, 63, 42, 15, 75, 23, 56 };
 +		sort(score); // 调用排序方法
 +		print(score); // 调用输出方法
 +		System.out.println("\n-----------------------------------------");
 +		sort(age);
 +		print(age);
 +	}
 +
 +	public static void sort(int temp[]) { // 数组排序
 +		for (int i = 1; i < temp.length; i++) { // 冒泡算法
 +			for (int j = 0; j < temp.length; j++) {
 +				if (temp[i] < temp[j]) {
 +					int x = temp[i];
 +					temp[i] = temp[j];
 +					temp[j] = x;
 +				}
 +			}
 +		}
 +	}
 +
 +	public static void print(int x[]) { // 数组输出
 +		for (int i = 0; i < x.length; i++) {
 +			System.out.print(x[i] + " , ");
 +		}
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/E0201.java b/works/life/java-practice/javatest/src/javatest/E0201.java new file mode 100644 index 0000000..5cda62a --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/E0201.java @@ -0,0 +1,21 @@ +package javatest;
 +
 +public class E0201 {
 +	public static int max(int a, int b) {
 +		return a > b ? a : b;
 +	}
 +
 +	public static double max(double a, double b) {
 +		return a > b ? a : b;
 +	}
 +
 +	public static int max(int a, int b, int c) {
 +		return max(a, max(b, c));
 +	}
 +
 +	public static void main(String[] args) {
 +		System.out.println(max(1, 2));
 +		System.out.println(max(2.2, 3.3));
 +		System.out.println(max(1, 2, 3));
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/E0202.java b/works/life/java-practice/javatest/src/javatest/E0202.java new file mode 100644 index 0000000..c74beec --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/E0202.java @@ -0,0 +1,12 @@ +package javatest;
 +
 +public class E0202 {
 +	public static int F(int n) {
 +		if (n == 1 || n == 2) return 1;
 +		return F(n - 2) + F(n - 1);
 +	}
 +	
 +	public static void main(String[] args) {
 +		System.out.println(F(6));
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/E0203.java b/works/life/java-practice/javatest/src/javatest/E0203.java new file mode 100644 index 0000000..7bec46f --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/E0203.java @@ -0,0 +1,26 @@ +package javatest;
 +
 +public class E0203 {
 +	public static void main(String[] args) {
 +		int[] array = new int[] { 1, 2, 3, 4 };
 +		intArray.printArray(array);
 +		System.out.println();
 +		intArray.printArray(intArray.reverse(array));
 +	}
 +}
 +
 +class intArray {
 +	public static void printArray(int[] array) {
 +		for (int i = 0; i < array.length; i++) {
 +			System.out.print(array[i] + " ");
 +		}
 +	}
 +
 +	public static int[] reverse(int[] list) {
 +		int[] result = new int[list.length];
 +		for (int i = 0; i < list.length; i++) {
 +			result[i] = list[list.length - i - 1];
 +		}
 +		return result;
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/E0204.java b/works/life/java-practice/javatest/src/javatest/E0204.java new file mode 100644 index 0000000..c79e33c --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/E0204.java @@ -0,0 +1,90 @@ +package javatest;
 +
 +import java.util.HashSet;
 +import java.util.Random;
 +
 +public class E0204 {
 +	public static void main(String[] args) {
 +		Random r = new Random();
 +		HashSet<Card> set = new HashSet<Card>();
 +
 +		while (set.size() != 4) {
 +			set.add(Card.random(r));
 +		}
 +
 +		for (Card card : set) {
 +			System.out.println(card);
 +		}
 +	}
 +}
 +
 +class Card {
 +	public static final String[] suits = { "Spades", "Hearts", "Clubs", "Diamonds" };
 +	public static final String[] ranks = { "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen",
 +			"King" };
 +
 +	public static Card random(Random r) {
 +		return new Card(suits[r.nextInt(suits.length)], ranks[r.nextInt(ranks.length)]);
 +	}
 +
 +	public Card(String suit, String rank) {
 +		super();
 +		this.suit = suit;
 +		this.rank = rank;
 +	}
 +
 +	private String suit;
 +	private String rank;
 +
 +	public String getSuit() {
 +		return suit;
 +	}
 +
 +	public void setSuit(String suit) {
 +		this.suit = suit;
 +	}
 +
 +	public String getRank() {
 +		return rank;
 +	}
 +
 +	public void setRank(String rank) {
 +		this.rank = rank;
 +	}
 +
 +	@Override
 +	public int hashCode() {
 +		final int prime = 31;
 +		int result = 1;
 +		result = prime * result + ((rank == null) ? 0 : rank.hashCode());
 +		result = prime * result + ((suit == null) ? 0 : suit.hashCode());
 +		return result;
 +	}
 +
 +	@Override
 +	public boolean equals(Object obj) {
 +		if (this == obj)
 +			return true;
 +		if (obj == null)
 +			return false;
 +		if (getClass() != obj.getClass())
 +			return false;
 +		Card other = (Card) obj;
 +		if (rank == null) {
 +			if (other.rank != null)
 +				return false;
 +		} else if (!rank.equals(other.rank))
 +			return false;
 +		if (suit == null) {
 +			if (other.suit != null)
 +				return false;
 +		} else if (!suit.equals(other.suit))
 +			return false;
 +		return true;
 +	}
 +
 +	@Override
 +	public String toString() {
 +		return "Card [suit=" + suit + ", rank=" + rank + "]";
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/Main.java b/works/life/java-practice/javatest/src/javatest/Main.java new file mode 100644 index 0000000..4c4a70c --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/Main.java @@ -0,0 +1,7 @@ +package javatest;
 +
 +public class Main {
 +	public static void main(String[] args) {
 +		System.out.println("Hello world!");
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/MethodDemo2.java b/works/life/java-practice/javatest/src/javatest/MethodDemo2.java new file mode 100644 index 0000000..161de5d --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/MethodDemo2.java @@ -0,0 +1,30 @@ +package javatest;
 +
 +public class MethodDemo2 {
 +	public static void main(String args[]) {
 +		int one = add(29, 58); // 调用addOne()方法
 +		int three = add(25, 58, 10); // 调用addOne()方法
 +		float two = add(26.35f, -12.84f); // 调用addTwo()方法
 +		System.out.println("add(int x,int y)=" + one);
 +		System.out.println("add(int x,int y,int z)=" + three);
 +		System.out.println("add(float x,float y)=" + two);
 +	}
 +
 +	public static int add(int x, int y) { // 定义方法,两个整数加法,返回一个整型数据
 +		int temp = 0; // temp为局部变量,只在此方法中有效
 +		temp = x + y;
 +		return temp; // 返回计算结果
 +	}
 +
 +	public static int add(int x, int y, int z) { // 定义方法,两个整数加法,返回一个整型数据
 +		int temp = 0; // temp为局部变量,只在此方法中有效
 +		temp = x + y + z;
 +		return temp; // 返回计算结果
 +	}
 +
 +	public static float add(float x, float y) {
 +		float temp = 0;
 +		temp = x + y;
 +		return temp;
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/e0301/Circle.java b/works/life/java-practice/javatest/src/javatest/e0301/Circle.java new file mode 100644 index 0000000..ec380ec --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0301/Circle.java @@ -0,0 +1,33 @@ +package javatest.e0301;
 +
 +public class Circle {
 +	private static int numOfObjects = 0;
 +
 +	public static int getNumOfObjects() {
 +		return numOfObjects;
 +	}
 +
 +	private double radius;
 +
 +	public Circle(double radius) {
 +		this.radius = radius;
 +		numOfObjects++;
 +	}
 +
 +	public double getArea() {
 +		return radius * radius * Math.PI;
 +	}
 +
 +	public static void printCircle(Circle c) {
 +		System.out.println("Radius of circle is " + c.radius);
 +		System.out.println("Area of circle is " + c.getArea());
 +	}
 +
 +	public static void main(String[] args) {
 +		Circle c1 = new Circle(2);
 +		Circle c2 = new Circle(3);
 +		Circle.printCircle(c1);
 +		Circle.printCircle(c2);
 +		System.out.println("Num of objects is " + Circle.getNumOfObjects());
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/e0302/Rational.java b/works/life/java-practice/javatest/src/javatest/e0302/Rational.java new file mode 100644 index 0000000..772cf12 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0302/Rational.java @@ -0,0 +1,45 @@ +package javatest.e0302;
 +
 +public class Rational {
 +	private long numerator;
 +	private long denominator;
 +
 +	private static long gcd(long a, long b) {
 +		return b != 0 ? gcd(b, a % b) : a;
 +	}
 +
 +	public Rational(long numerator, long denominator) {
 +		long d = gcd(numerator, denominator);
 +		this.numerator = numerator / d;
 +		this.denominator = denominator / d;
 +	}
 +
 +	public Rational add(Rational secondRational) {
 +		long d = gcd(this.denominator, secondRational.denominator);
 +		long dd = this.denominator / d * secondRational.denominator;
 +		long a = this.numerator * (dd / this.denominator);
 +		long b = secondRational.numerator * (dd / secondRational.denominator);
 +		return new Rational(a + b, dd);
 +	}
 +
 +	public Rational subtract(Rational secondRational) {
 +		long d = gcd(this.denominator, secondRational.denominator);
 +		long dd = this.denominator / d * secondRational.denominator;
 +		long a = this.numerator * (dd / this.denominator);
 +		long b = secondRational.numerator * (dd / secondRational.denominator);
 +		return new Rational(a - b, dd);
 +	}
 +
 +	public Rational multiply(Rational secondRational) {
 +		return new Rational(this.numerator * secondRational.numerator, this.denominator * secondRational.denominator);
 +	}
 +
 +	public Rational divide(Rational secondRational) {
 +		return new Rational(this.numerator * secondRational.denominator, this.denominator * secondRational.numerator);
 +	}
 +
 +	@Override
 +	public String toString() {
 +		return denominator == 1 ? Long.toString(numerator) : numerator + "/" + denominator;
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/e0302/TestRationalClass.java b/works/life/java-practice/javatest/src/javatest/e0302/TestRationalClass.java new file mode 100644 index 0000000..2be02b9 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0302/TestRationalClass.java @@ -0,0 +1,12 @@ +package javatest.e0302;
 +
 +public class TestRationalClass {
 +	public static void main(String[] args) {
 +		Rational r1 = new Rational(2, 1);
 +		Rational r2 = new Rational(2, 3);
 +		System.out.println(r1 + " + " + r2 + " = " + r1.add(r2));
 +		System.out.println(r1 + " - " + r2 + " = " + r1.subtract(r2));
 +		System.out.println(r1 + " * " + r2 + " = " + r1.multiply(r2));
 +		System.out.println(r1 + " / " + r2 + " = " + r1.divide(r2));		
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/e0401/Program.java b/works/life/java-practice/javatest/src/javatest/e0401/Program.java new file mode 100644 index 0000000..c7472b8 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0401/Program.java @@ -0,0 +1,72 @@ +package javatest.e0401;
 +
 +public class Program {
 +	public static boolean equalArea(GeometricObject object1, GeometricObject object2) {
 +		return object1.findArea() == object2.findArea();
 +	}
 +
 +	public static void displayGeometricObject(GeometricObject object) {
 +		if (object instanceof Circle) {
 +			System.out.println("A Circle.");
 +		} else if (object instanceof Rectangle) {
 +			System.out.println("A Rectangle.");
 +		}
 +	}
 +
 +	public static void main(String[] args) {
 +		Circle circle = new Circle(3);
 +		Rectangle rectangle = new Rectangle(2, 4);
 +
 +		System.out.println(equalArea(circle, rectangle));
 +		displayGeometricObject(circle);
 +		displayGeometricObject(rectangle);
 +	}
 +}
 +
 +abstract class GeometricObject {
 +	protected String color;
 +
 +	public abstract double findArea();
 +
 +	public abstract double findPerimeter();
 +}
 +
 +class Circle extends GeometricObject {
 +
 +	private double radius;
 +
 +	public Circle(double radius) {
 +		this.radius = radius;
 +	}
 +
 +	@Override
 +	public double findArea() {
 +		return radius * radius * Math.PI;
 +	}
 +
 +	@Override
 +	public double findPerimeter() {
 +		return radius * 2 * Math.PI;
 +	}
 +}
 +
 +class Rectangle extends GeometricObject {
 +
 +	private double width;
 +	private double height;
 +
 +	public Rectangle(double width, double height) {
 +		this.width = width;
 +		this.height = height;
 +	}
 +
 +	@Override
 +	public double findArea() {
 +		return width * height;
 +	}
 +
 +	@Override
 +	public double findPerimeter() {
 +		return (width + height) * 2;
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/e0402/Person.java b/works/life/java-practice/javatest/src/javatest/e0402/Person.java new file mode 100644 index 0000000..b7e0e14 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/e0402/Person.java @@ -0,0 +1,40 @@ +package javatest.e0402;
 +
 +public class Person {
 +	public void cut() {
 +	}
 +
 +	public static void main(String[] args) {
 +		Person player = new Player();
 +		Person cooker = new Cooker();
 +		Person cuter = new Cuter();
 +
 +		player.cut();
 +		cooker.cut();
 +		cuter.cut();
 +	}
 +}
 +
 +/** 演员 */
 +class Player extends Person {
 +	/** 重写 */
 +	public void cut() {
 +		System.out.println("停止演戏");
 +	}
 +}
 +
 +/** 厨师 */
 +class Cooker extends Person {
 +	/** 重写 */
 +	public void cut() {
 +		System.out.println("开始切菜");
 +	}
 +}
 +
 +/** 厨师 */
 +class Cuter extends Person {
 +	/** 重写 */
 +	public void cut() {
 +		System.out.println("开始剪头发");
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0301/AreaAndLength.java b/works/life/java-practice/javatest/src/javatest/p0301/AreaAndLength.java new file mode 100644 index 0000000..5216fb1 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0301/AreaAndLength.java @@ -0,0 +1,120 @@ +package javatest.p0301;
 +
 +class Trangle {
 +	double sideA, sideB, sideC, area, length;
 +	boolean boo;
 +
 +	public Trangle(double a, double b, double c) {
 +		sideA = a;
 +		sideB = b;
 +		sideC = c;// 参数a,b,c分别赋值给sideA,sideB,sideC
 +		if (a + b > c && a + c > b && c + b > a) // a,b,c构成三角形的条件表达式
 +		{
 +			boo = true; // 给boo赋值。
 +		} else {
 +			boo = false; // 给boo赋值。
 +		}
 +	}
 +
 +	double getLength() {
 +		if (boo) {
 +			length = sideA + sideB + sideC;
 +			return length;
 +		} else {
 +			System.out.println("不是一个三角形,不能计算周长");
 +			return 0;
 +		}
 +		// 方法体,要求计算出length的值并返回
 +	}
 +
 +	public double getArea() {
 +		if (boo) {
 +			double p = (sideA + sideB + sideC) / 2.0;
 +			area = Math.sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
 +			return area;
 +		} else {
 +			System.out.println("不是一个三角形,不能计算面积");
 +			return 0;
 +		}
 +	}
 +
 +	public void setABC(double a, double b, double c) {
 +		sideA = a;
 +		sideB = b;
 +		sideC = c; // 参数a,b,c分别赋值给sideA,sideB,sideC
 +		if (a + b > c && a + c > b && c + b > a) // a,b,c构成三角形的条件表达式
 +		{
 +			boo = true; // 给boo赋值。
 +		} else {
 +			boo = false; // 给boo赋值。
 +		}
 +	}
 +}
 +
 +class Lader {
 +	double above, bottom, height, area;
 +
 +	Lader(double a, double b, double h) {
 +		above = a;
 +		bottom = b;
 +		height = h;
 +		// 方法体,将参数a,b,c分别赋值给above,bottom,height
 +	}
 +
 +	double getArea() {
 +		area = (above + bottom) / 2 * height;
 +		return area;
 +		// 方法体,,要求计算出area返回
 +	}
 +}
 +
 +class Circle {
 +	double radius, area;
 +
 +	Circle(double r) {
 +		radius = r; // 方法体
 +	}
 +
 +	double getArea() {
 +		return 3.14 * radius * radius; // 方法体,要求计算出area返回
 +	}
 +
 +	double getLength() {
 +		return 3.14 * 2 * radius; // getArea方法体的代码,要求计算出length返回
 +	}
 +
 +	void setRadius(double newRadius) {
 +		radius = newRadius;
 +	}
 +
 +	double getRadius() {
 +		return radius;
 +	}
 +}
 +
 +public class AreaAndLength {
 +	public static void main(String args[]) {
 +		double length, area;
 +		Circle circle = null;
 +		Trangle trangle;
 +		Lader lader;
 +		circle = new Circle(10); // 创建对象circle
 +		trangle = new Trangle(3, 4, 5);// 创建对象trangle。
 +		lader = new Lader(3, 4, 10); // 创建对象lader
 +		length = circle.getLength(); // circle调用方法返回周长并赋值给length
 +		System.out.println("圆的周长:" + length);
 +		area = circle.getArea();// circle调用方法返回面积并赋值给area
 +		System.out.println("圆的面积:" + area);
 +		length = trangle.getLength(); // trangle调用方法返回周长并赋值给length
 +		System.out.println("三角形的周长:" + length);
 +		area = trangle.getArea(); // trangle调用方法返回面积并赋值给area
 +		System.out.println("三角形的面积:" + area);
 +		area = lader.getArea(); // lader调用方法返回面积并赋值给area
 +		System.out.println("梯形的面积:" + area);
 +		trangle.setABC(12, 34, 1); // trangle调用方法设置三个边,要求将三个边修改为12,34,1。
 +		area = trangle.getArea(); // trangle调用方法返回面积并赋值给area
 +		System.out.println("三角形的面积:" + area);
 +		length = trangle.getLength(); // trangle调用方法返回周长并赋值给length
 +		System.out.println("三角形的周长:" + length);
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0302/Example.java b/works/life/java-practice/javatest/src/javatest/p0302/Example.java new file mode 100644 index 0000000..600a899 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0302/Example.java @@ -0,0 +1,47 @@ +package javatest.p0302;
 +
 +class A {
 +	float a; // 声明一个float型实例变量a
 +	static float b; // 声明一个float型类变量b,即static变量b
 +
 +	void setA(float a) {
 +		this.a = a; // 将参数a的值赋值给成员变量a
 +	}
 +
 +	void setB(float b) {
 +		this.b = b; // 将参数b的值赋值给成员变量b
 +	}
 +
 +	float getA() {
 +		return a;
 +	}
 +
 +	float getB() {
 +		return b;
 +	}
 +
 +	void inputA() {
 +		System.out.println(a);
 +	}
 +
 +	static void inputB() {
 +		System.out.println(b);
 +	}
 +}
 +
 +public class Example {
 +	public static void main(String args[]) {
 +		A.b = 100; // 通过类名操作类变量b,并赋值100
 +		A.inputB(); // 通过类名调用方法inputB()
 +		A cat = new A();
 +		A dog = new A();
 +		cat.setA(200); // cat象调用方法setA(int a)将cat的成员a的值设置为200
 +		cat.setB(400); // cat调用方法setB(int b)将cat的成员b的值设置为400
 +		dog.setA(150); // dog象调用方法setA(int a)将dog的成员a的值设置为150
 +		dog.setB(300); // dog调用方法setB(int b)将dog的成员b的值设置为300
 +		cat.inputA(); // cat调用inputA()。
 +		cat.inputB(); // cat调用inputB()。
 +		dog.inputA(); // dog调用inputA()。
 +		dog.inputB(); // dog调用inputB()。
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0303/SunRise.java b/works/life/java-practice/javatest/src/javatest/p0303/SunRise.java new file mode 100644 index 0000000..dbd964c --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0303/SunRise.java @@ -0,0 +1,12 @@ +package javatest.p0303;
 +
 +import javatest.p0303.sub.*;
 +
 +class SunRise {
 +	public static void main(String args[]) {
 +		SquareEquation equation = new SquareEquation(4, 5, 1);
 +		equation.getRoots();
 +		equation.setCoefficient(-3, 4, 5);
 +		equation.getRoots();
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0303/sub/SquareEquation.java b/works/life/java-practice/javatest/src/javatest/p0303/sub/SquareEquation.java new file mode 100644 index 0000000..0d7546c --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0303/sub/SquareEquation.java @@ -0,0 +1,46 @@ +package javatest.p0303.sub;
 +
 +public class SquareEquation {
 +	double a, b, c;
 +	double root1, root2;
 +	boolean boo;
 +
 +	public SquareEquation(double a, double b, double c) {
 +		this.a = a;
 +		this.b = b;
 +		this.c = c;
 +		if (a != 0) {
 +			boo = true;
 +		} else {
 +			boo = false;
 +		}
 +	}
 +
 +	public void getRoots() {
 +		if (boo) {
 +			System.out.println("是一元2次方程");
 +			double disk = b * b - 4 * a * c;
 +			if (disk >= 0) {
 +				root1 = (-b + Math.sqrt(disk)) / (2 * a);
 +				root2 = (-b - Math.sqrt(disk)) / (2 * a);
 +				System.out.printf("方程的根:%f,%f\n", root1, root2);
 +			} else {
 +				System.out.printf("方程没有实根\n");
 +			}
 +
 +		} else {
 +			System.out.println("不是一元2次方程");
 +		}
 +	}
 +
 +	public void setCoefficient(double a, double b, double c) {
 +		this.a = a;
 +		this.b = b;
 +		this.c = c;
 +		if (a != 0) {
 +			boo = true;
 +		} else {
 +			boo = false;
 +		}
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0401/Example.java b/works/life/java-practice/javatest/src/javatest/p0401/Example.java new file mode 100644 index 0000000..d673821 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0401/Example.java @@ -0,0 +1,113 @@ +package javatest.p0401;
 +
 +class People {
 +	protected double weight, height;
 +
 +	public void speakHello() {
 +		System.out.println("yayawawa");
 +	}
 +
 +	public void averageHeight() {
 +		height = 173;
 +		System.out.println("average height:" + height);
 +	}
 +
 +	public void averageWeight() {
 +		weight = 70;
 +		System.out.println("average weight:" + weight);
 +	}
 +}
 +
 +class ChinaPeople extends People {
 +	public void speakHello() {
 +		System.out.println("你好,吃饭了吗?");
 +	}
 +
 +	// 重写public void speakHello()方法,要求输出类似“你好,吃了吗”这样的
 +	// 汉语信息
 +	public void averageHeight() {
 +		height = 173;
 +		System.out.println("中国人的平均身高:" + height + "厘米");
 +	}
 +
 +	// 重写public void averageHeight()方法,要求输出类似
 +	// “中国人的平均身高:168.78厘米”这样的汉语信息
 +	public void averageWeight() {
 +		weight = 67.34;
 +		System.out.println("中国人的平均体重:" + weight + "公斤");
 +	}
 +
 +	// 重写public void averageWeight()方法,
 +	// 要求输出类似“中国人的平均体重:65公斤”这样的汉语信息
 +	public void chinaGongfu() {
 +		System.out.println("坐如钟,站如松,睡如弓");// 输出中国武术的信息,例如:"坐如钟,站如松,睡如弓"等
 +	}
 +}
 +
 +class AmericanPeople extends People {
 +	public void speakHello() {
 +		System.out.println("How do You do");
 +	}
 +
 +	// 重写public void speakHello()方法,要求输出类似
 +	// “How do you do”这样的英语信息。
 +	public void averageHeight() {
 +		height = 188;
 +		System.out.println("Amerian Average height:" + height + " cm");
 +	}
 +
 +	// 重写public void averageHeight()方法
 +	public void averageWeight() {
 +		weight = 80.23;
 +		System.out.println("Amerian Average weight:" + weight + " kg");
 +	}
 +
 +	// 重写public void averageWeight()方法
 +	public void americanBoxing() {
 +		System.out.println("直拳、钩拳");// 输出拳击的信息,例如,“直拳”、“钩拳”等
 +	}
 +}
 +
 +class BeijingPeople extends ChinaPeople {
 +	public void speakHello() {
 +		System.out.println("您好");
 +	}
 +
 +	// 重写public void speakHello()方法,要求输出类似“您好”这样的汉语信息
 +	public void averageHeight() {
 +		height = 16;
 +		System.out.println("北京人的平均身高:" + height + "厘米");
 +	}
 +
 +	// 重写public void averageHeight()方法
 +	public void averageWeight() {
 +		weight = 6;
 +		System.out.println("北京人的平均体重:" + weight + "公斤");
 +	}
 +
 +	// 重写public void averageWeight()方法
 +	public void beijingOpera() {
 +		System.out.println("京剧术语");// 输出京剧的信息
 +	}
 +}
 +
 +public class Example {
 +	public static void main(String args[]) {
 +		ChinaPeople chinaPeople = new ChinaPeople();
 +		AmericanPeople americanPeople = new AmericanPeople();
 +		BeijingPeople beijingPeople = new BeijingPeople();
 +		chinaPeople.speakHello();
 +		americanPeople.speakHello();
 +		beijingPeople.speakHello();
 +		chinaPeople.averageHeight();
 +		americanPeople.averageHeight();
 +		beijingPeople.averageHeight();
 +		chinaPeople.averageWeight();
 +		americanPeople.averageWeight();
 +		beijingPeople.averageWeight();
 +		chinaPeople.chinaGongfu();
 +		americanPeople.americanBoxing();
 +		beijingPeople.beijingOpera();
 +		beijingPeople.chinaGongfu();
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0402/Subroutine.java b/works/life/java-practice/javatest/src/javatest/p0402/Subroutine.java new file mode 100644 index 0000000..6b11ace --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0402/Subroutine.java @@ -0,0 +1,23 @@ +package javatest.p0402;
 +
 +class Parent { // 父类
 +	Parent() {
 +		System.out.println("调用父类的parent()构造方法");
 +	}
 +}
 +
 +class SubParent extends Parent { // 继承Parent类
 +	SubParent() {
 +		System.out.println("调用子类的SubParent()构造方法");
 +	}
 +}
 +
 +public class Subroutine extends SubParent { // 继承SubParent类
 +	Subroutine() {
 +		System.out.println("调用子类的Subroutine()构造方法");
 +	}
 +
 +	public static void main(String[] args) {
 +		Subroutine s = new Subroutine(); // 实例化子类对象
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0403/Parallelogram.java b/works/life/java-practice/javatest/src/javatest/p0403/Parallelogram.java new file mode 100644 index 0000000..329aa80 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0403/Parallelogram.java @@ -0,0 +1,31 @@ +package javatest.p0403;
 +
 +class Quadrangle {
 +	public static void draw(Quadrangle q) {
 +		// SomeSentence
 +	}
 +}
 +
 +class Square extends Quadrangle {
 +	// SomeSentence
 +}
 +
 +class Anything {
 +	// SomeSentence
 +}
 +
 +public class Parallelogram extends Quadrangle {
 +	public static void main(String args[]) {
 +		Quadrangle q = new Quadrangle(); // 实例化父类对象
 +		// 判断父类对象是否为Parallelogram子类的一个实例
 +		if (q instanceof Parallelogram) {
 +			Parallelogram p = (Parallelogram) q; // 向下转型操作
 +		}
 +		// 判断父类对象是否为Parallelogram子类的一个实例
 +		if (q instanceof Square) {
 +			Square s = (Square) q; // 进行向下转型操作
 +		}
 +		// 由于q对象不为Anything类的对象,所以这条语句是错误的
 +		// System.out.println(q instanceof Anything);
 +	}
 +}
 diff --git a/works/life/java-practice/javatest/src/javatest/p0404/Quadrangle.java b/works/life/java-practice/javatest/src/javatest/p0404/Quadrangle.java new file mode 100644 index 0000000..c6b6630 --- /dev/null +++ b/works/life/java-practice/javatest/src/javatest/p0404/Quadrangle.java @@ -0,0 +1,36 @@ +package javatest.p0404;
 +
 +public class Quadrangle {
 +	// 实例化保存四边形对象的数组对象
 +	private Quadrangle[] qtest = new Quadrangle[6];
 +	private int nextIndex = 0;
 +	
 +	public void draw(Quadrangle q) { // 定义draw()方法,参数为四边形对象
 +		if (nextIndex < qtest.length) {
 +			qtest[nextIndex] = q;
 +			System.out.println(nextIndex);
 +			nextIndex++;
 +		}
 +	}
 +	
 +	public static void main(String[] args) {
 +		// 实例化两个四边形对象,用于调用draw()方法
 +		Quadrangle q = new Quadrangle();
 +		q.draw(new Square()); // 以正方形对象为参数调用draw()方法
 +		// 以平行四边形对象为参数调用draw()方法
 +		q.draw(new Parallelogramgle());
 +	}
 +}
 +
 +class Square extends Quadrangle { // 定义一个正方形类,继承四边形类
 +	public Square() {
 +		System.out.println("正方形");
 +	}
 +}
 +
 +// 定义一个平行四边形类,继承四边形类
 +class Parallelogramgle extends Quadrangle {
 +	public Parallelogramgle() {
 +		System.out.println("平行四边形");
 +	}
 +}
 | 
