package CSDNTest;
// T泛型默认为Shape类
public class JAreaGeneric<T extends Shape> implements JShape<T> {
// 比较方法
public T CompareArea(T shape1, T shape2) {
double area1 = shape1.area();
double area2 = shape2.area();
return area1 > area2 ? shape1 : shape2;
}
public static void main(String[] args) {
Rect rect = new Rect(1, 3, 4);
Triangle triangle = new Triangle(2, 8, 4);
JAreaGeneric<Shape> shapeJAreaGeneric = new JAreaGeneric<>();
Shape shape = shapeJAreaGeneric.CompareArea(rect, triangle); // 比较
System.out.println("面积大的为:" + shapeJAreaGeneric.getId(shape));
}
@Override
public int getId(T shape) {
return shape.getId();
}
}
interface JShape<T> {
int getId(T shape);
}
/*
* 圆形子类
* */
class Cirle extends Shape {
public Cirle(int id, double r) {
super.setId(id);
super.setR(r);
}
@Override
public double area() {
return getR() * getR() * 3.14;
}
}
/*
* 三角形子类
* */
class Triangle extends Shape {
public Triangle(int id, double w, double h) {
super.setId(id);
super.setW(w);
super.setH(h);
}
@Override
public double area() {
return super.getW() * super.getH() / 2;
}
}
/*
*矩形子类
* */
class Rect extends Shape {
public Rect() {
super();
}
public Rect(int id, double w, double h) {
super();
super.setId(id);
super.setW(w);
super.setH(h);
}
@Override
public double area() { //重写计算面积方法
return super.getW() * super.getH();
}
}
class Shape { // 图形的父类
int id;
private double w; // 宽
private double h; //高
private double r; //半径
public double getW() {
return w;
}
public void setW(double w) {
this.w = w;
}
public double getH() {
return h;
}
public void setH(double h) {
this.h = h;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double area() { //计算面积的方法
return 0;
}
}
1.
package CSDNTest;
import java.lang.reflect.Array;
import java.util.Arrays;
public class J_StringArray {
//定义一个包含10个元素的一维数组,数组的元素类型是String;
private static String[] strings = {"A", "J", "C", "C", "D", "E", "F", "H", "G", "B"};
public static void main(String[] args) {
// 使用equals方法,查找出数组中是否存在重复的字符串。
for (int i = 0; i < strings.length; i++) {
for (int j = i + 1; j < strings.length - i; j++) {
if (strings[i].equals(strings[j])) {
System.out.println("重复元素:" + strings[i] + "=" + strings[j]);
}
}
}
Arrays.sort(strings);
for (String str : strings) {
System.out.print(str + "\t");
}
}
}
2.
不知道符不符合题目要求