Java寒假学习Day6:方法练习题

1.

package OOP1Test;

public class PersonTest {
	public static void main(String[] args) {
		Person p1 = new Person();
		p1.showAge();
		p1.addAge(2);
		
		Person p2 = new Person();
		p2.showAge();
	}
	
}

class Person{
	String name;
	int age = 0;
	int sex;
	public void study() {
		System.out.println("Studying");
	}
	public void showAge() {
		System.out.println("User's age is" + age);
	}
	
	public int addAge(int i) {
		age+=i;
		return age;
	}
}

 2.利用面向对象的编程方法,设计类Circle计算圆的面积

package OOP1Test;

public class CircleTest {
	public static void main(String[] args) {
		Circle c = new Circle();
		double s = c.getS(2);
		System.out.println("圆的面积为:"+s);
	}
}

class Circle{
	
	public double getS(double r) {
		double S = 0.5*Math.PI*r*r;
		return S;
	}
}

3.1 编写程序,声明一个method方法,在方法中打印一个10*8 的*型矩形,
在main方法中调用该方法。

3.2 修改上一个程序,在method方法中,除打印一个10*8的*型矩形外,再
计算该矩形的面积,并将其作为方法返回值。在main方法中调用该方法,
接收返回的面积值并打印。

3.3 修改上一个程序,在method方法提供m和n两个参数,方法中打印一个
m*n的*型矩形,并计算该矩形的面积, 将其作为方法返回值。在main方法
中调用该方法,接收返回的面积值并打印。

package OOP1Test;

public class MethodTest {
	public static void main(String[] args) {
		Method m = new Method();
		m.printS();
		m.printS1();
		m.PrintM_N_S(4, 5);
	}
}

class Method{
	public void printS() {//3.1
		for(int i =0;i<10;i++) {
			for(int j=0;j<8;j++) {
				System.out.print("*"+" ");
			}
			System.out.println();
		}
	}
	
	public double printS1() {//3.2
		int m=0,count=0;
		double n = 0.0;
		for(int i =0;i<10;i++) {
			for(int j=0;j<8;j++) {
				count++;
				System.out.print("*"+" ");
			}
			System.out.println();
			m++;
		}
		n=count/m;
		double s=m * n;
		System.out.println("矩阵面积为"+s);
		return s;
	}
	
	public int PrintM_N_S(int M,int N){//3.3
		for(int i = 0;i<M;i++) {
			for(int j=0;j<N;j++) {
				System.out.print("*"+" ");
			}
			System.out.println();
		}
		int S = M*N;
		System.out.println("矩形面积为:" + S);
		return S;
	}
}

4.定义类Student,包含三个属性:学号number(int),年级state(int),成绩
score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息

package OOP1Test;

import java.util.Arrays;

/*
 * 4. 对象数组题目:
	定义类Student,包含三个属性:学号number(int),年级state(int),成绩
	score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
	问题一:打印出3年级(state值为3)的学生信息。
	问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
 */
public class StudentTest {
	public static void main(String[] args) {
		//声明一个Student类型的数组stus
		Student[] stus = new Student[20];
		for (int i = 0; i <stus.length; i++) {
			//给stus每个元素赋值,值为new的Student对象
			stus[i] = new Student();
			//给具体的Student对象的属性赋值
			stus[i].No = i+1;
			stus[i].state = (int) (Math.random() * (3 - 1 + 1) + 1);
			stus[i].score = (int) (Math.random() * (100 - 60 + 1) + 60);
		}
		System.out.println("学号" + "\t" + "年级" + "\t" + "成绩" + "\t");
		for(int i = 0; i <stus.length; i++) {
			System.out.println(stus[i].info());
		}
		System.out.println("——————————————————————————————————");
		// Q1:打印出3年级(state值为3)的学生信息。
		System.out.println("学号" + "\t" + "年级" + "\t" + "成绩" + "\t");
		for(int i = 0; i <stus.length; i++) {
			if(stus[i].state == 3) {
				System.out.println(stus[i].info());
			}
		}
		System.out.println("——————————————————————————————————");
		//使用冒泡排序按学生成绩排序,并遍历所有学生信息
		System.out.println("学号" + "\t" + "年级" + "\t" + "成绩" + "\t");
		for(int i=0;i<stus.length;i++) {
			for(int j=0;j<stus.length-1-i;j++) {
				if((stus[j].score)>(stus[j+1].score)){
					Student temp = stus[j];
					stus[j] = stus[j+1];
					stus[j+1] = temp;
				}
			}
		}
		for(int i = 0; i <stus.length; i++) {
			System.out.println(stus[i].info());
		}
	}
}

class Student {
	int No;
	int state;
	int score;
	
	public String info() {
		return No+"\t"+state+"\t"+score+"\t";
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值