public static void sevenInverse() {
int a[]=new int [] {1,2,3,4,5,6,7};
System.out.println("原数组a:"+Arrays.toString(a));
//首尾互换
for (int i = 0; i < a.length/2; i++) {
int tem=a[i];
a[i]=a[a.length-1-i];
a[a.length-1-i]=tem;
}
System.out.println("倒置后数组a:"+Arrays.toString(a));
}
2、 编写一个方法,输出大于200的最小的质数。
思路:质数的判定条件,当找出第一个后就不在运行程序
public static void SIXTEENsushu() {
int count=0;
for (int i = 200; ; i++) {
if (count==0) {
for (int j = 2; j
3、 创建一个球员类,并且该类最多只允许创 建十一个对象。提示利用 static 和 封装性来完成。
思路:单例模式的使用。
public class Player {
private static int sum=0;
private Player() {//私有构造,不允许其他类进行实例化。
System.out.println("创建了一个球员类"+sum);
}
//共有的实例化
public static Player create() {
Player p=null;
while (sum<=10) {
p=new Player();
sum++;
}
return p;
}
//测试类
public class TestPlayer {
public static void main(String[] args) {
Player p=null;
p.create();
}
}
4、设计三个类,分别如下:
• 4.1 设计Shape表示图形类,有面积属性area、周长属性per, 颜色属性color,有两个构造方法(一个是默认的、一个是 为颜色赋值的),还有3个抽象方法,分别是:getArea计算 面积、getPer计算周长、showAll输出所有信息,还有一个求 颜色的方法getColor。
• 4.2 设计 2个子类:
• 4.2.1 Rectangle表示矩形类,增加两个属性,Width表示长度 、height表示宽度,重写getPer、getArea和showAll三个方法 ,另外又增加一个构造方法(一个是默认的、一个是为高度 、宽度、颜色赋值的)。
• 4.2.2 Circle表示圆类,增加1个属性,radius表示半径,重写 getPer、getArea和showAll三个方法,另外又增加两个构造 方法(为半径、颜色赋值的)。
• 4.3 在main方法中,声明创建每个子类的对象,并调用2个 子类的showAll方法。
思路:抽象类的使用。
抽象类shape
public abstract class Shape {
double area;
double per;
String color;
public Shape() {
}
public Shape(String color) {
this.color = color;
}
public abstract double getArea();
public abstract double getPer();
public abstract void showAll();
public String getColor() {
return color;
}
}
矩形类继承了shape,重写了父类的方法
public class Rectangle extends Shape {
double width;
double height;
public Rectangle() {
}
public Rectangle(String color,double w,double h) {
super(color);
this.width=w;
this.height=h;
}
@Override
public double getArea() {
area=width*height;
return area;
}
@Override
public double getPer() {
per=(width+height)*2;
return per;
}
@Override
public void showAll() {
System.out.println("per is "+getPer()+" area is "+getArea());
}
}
圆形类+测试
public class Circle extends Shape {
double r;
public Circle() {
super();
}
public Circle(String color,double r) {
super(color);
this.r = r;
}
@Override
public double getArea() {
area=3.14*r*r;
return area;
}
@Override
public double getPer() {
per=2*r*3.14;
return per;
}
@Override
public void showAll() {
System.out.println("per is "+getPer()+" area is "+getArea());
}
public static void main(String[] args) {
Rectangle rectangle=new Rectangle("red", 10, 10);
rectangle.showAll();
Circle circle=new Circle("blue", 2);
circle.showAll();
}
}
5、编写一个检查给定的数字的数据类型是否为byte的程序 ,如果此数字超出byte数据类型表示的数的范围,则引发 用户自定义的异常ByteSizeException,并显示相应的错误信息。
6、编写三个系别的学生类:英语系,计算机系,文学系( 要求通过继承学生类)
6.1各系有以下成绩:
• 英语系: 演讲,期末考试,期中考试;
• 计算机系:操作能力,英语写作,期中考试,期末考试;
• 文学系: 演讲,作品,期末考试,期中考试
6.2各系总分评测标准
• 英语系: 演讲 50% • 期末考试 25% • 期中考试 25%
• 计算机系: 操作能力 40% • 英语写作 20% • 期末考试 20% • 期中考试 20%
• 文学系: 演讲 35% • 作品 35% • 期末考试 15% • 期中考试 15%
6.3定义一个可容纳5个学生的学生类数组,使用 随机数给该数组装入各系学生的对象,然后按如下格式输出数组中的信息: • 学号:XXXXXXXX 姓名:XXX 性别:X 年龄: XX 综合成绩:XX
学生类:
public class Student {
int xh;
String name;
String sex;
int age;
int score;
public Student(int xh, String name, String sex, int age) {
super();
this.xh = xh;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getscore() {
return score;
}
@Override
public String toString() {
return "Student [xh=" + xh + ", name=" + name + ", sex=" + sex + ", age=" + age + ", score=" + getscore() + "]";
}
}
计算机系:
public class ComputerStudent extends Student{
int caozuo;
int xiezuo;
int qimo;
int qizhong;
public ComputerStudent(int xh, String name, String sex, int age, int caozuo, int xiezuo, int qimo, int qizhong) {
super(xh, name, sex, age);
this.caozuo = caozuo;
this.xiezuo = xiezuo;
this.qimo = qimo;
this.qizhong = qizhong;
}
public int getscore() {
score=(int) (caozuo*0.4+xiezuo*0.2+qimo*0.2+qizhong*0.2);
return score;
}
}
其他的2个类同理。
测试类:使用数组创建学生对象类,在调用tostring的方法
public class Test {
public static void main(String[] args) {
String string[]=new String[5];
int []a=new int[5];
Student []stu=new Student[5];
//转型问题,如果用父类引用指向子类对象,就可以实例不同的子类对象了,这就是为什么要用father f=new son的原因了
stu[0]=new EnglishStu(0, "xiaoming", "男", 22, 11, 50, 60);
stu[1]=new ComputerStudent(1, "xiaoli", "女", 22, 66, 66, 66, 66);
stu[2]=new literatureStudent(2, "xiaoji", "男", 23, 55, 55, 99, 99);
stu[3]=new EnglishStu(3, "xiaoping", "男", 22, 55, 56, 60);
stu[4]=new literatureStudent(4, "xiaoci", "男", 22, 108, 100, 100, 99);
for (int i = 0; i < stu.length; i++) {
System.out.println(stu[i].toString());
}
}
}