【练习题】01.类的成员变量:
设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积
//设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积
package cn.edu.nefu1;
import java.util.Scanner;
public class Box {
double length;
double width;
double height;
//求体积
double volume(double length,double width,double height){
return length*width*height;
}
//求表面积
double area(double length,double width,double height){
return 2*(length*width+length*height+width*height);
}
public static void main(String[] args) {
Box box = new Box(); //实例化一个对象
System.out.println("请输入该立方体的长、宽、高:");
Scanner sc = new Scanner(System.in);
box.length = sc.nextDouble();
box.width = sc.nextDouble();
box.height = sc.nextDouble();
System.out.println("立方体的体积为:"+box.volume(box.length,box.width,box.height)); //调用方法
System.out.println("立方体的表面积为:"+box.area(box.length,box.width,box.height));
}
}
【练习题】02.类的成员变量:
请定义一个交通工具(Vehicle)的类,其中有:
属性:速度(speed),距离(distance)等等
方法:移动(move(int s)),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.
最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed, distance的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。调用 move方法改变distance,并输出已经移动的距离
//请定义一个交通工具(Vehicle)的类,其中有:
// 属性:速度(speed),距离(distance)等等
// 方法:移动(move(int s)),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.
// 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed, distance的值,
// 并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。调用 move方法改变distance,并输出已经移动的距离
package cn.edu.nefu1;
public class Vehicle {
int speed;
int distance;
//构造方法
Vehicle(int speed,int distance){
this.distance = distance;
this.speed = speed;
}
//移动
void move(int s){
distance += s;
System.out.println("此时距离为:"+distance);
}
//设置速度
void setSpeed(int speed){
System.out.println("此时速度为"+speed);
}
//加速
void speedUp(){
speed += 1;
System.out.println("此时速度为"+speed);
}
//减速
void speedDown(){
speed -= 1;
System.out.println("此时速度为"+speed);
}
public static void main(String[] args) {
Vehicle car = new Vehicle(20,100);//实例化一个对象
car.move(100);
car.setSpeed(20);
car.speedDown();
car.speedUp();
car.speedUp();
}
}
【练习题】03.类的成员变量与方法
定义一个Hero类
属性有 power,name,分别代表体力值和英雄的名子,体力值默认为100;
方法有
1.void go(); //行走的方法,如果体力值为0,则输出不能行走,此英雄已死亡的信息
2.void eat(int n); //吃的方法,参数是补充的血量,将 n的值加到属性power中,power的值最大为100,
3.void hurt();//每受到一次伤害,体力值-10,体力值最小不能小于0
编写测试类,来测试以上代码
/*定义一个Hero类
属性有 power,name,分别代表体力值和英雄的名子,体力值默认为100;
方法有
1.void go(); //行走的方法,如果体力值为0,则输出不能行走,此英雄已死亡的信息
2.void eat(int n); //吃的方法,参数是补充的血量,将 n的值加到属性power中,power的值最大为100,
3.void hurt();//每受到一次伤害,体力值-10,体力值最小不能小于0
编写测试类,来测试以上代码*/
package cn.edu.nefu1;
public class Hero {
int power=100;
String name;
//行走
void go(){
if(power == 0){
System.out.println("不能行走,英雄"+name+"已死亡。");
}else {
System.out.println("英雄"+name+"向前行走。");
}
}
//吃
void eat(int n){
power += n;
if(power >= 100){
power = 100;
}
System.out.println("英雄"+name+"血量为:"+power);
}
//伤害
void hurt(){
power -=10;
if(power < 0){
power = 0;
}
System.out.println("英雄"+name+"血量为:"+power);
}
}
package cn.edu.nefu1;
import java.util.Scanner;
public class HeroTest {
public static void main(String[] args) {
Hero hero = new Hero();
Scanner sc = new Scanner(System.in);
System.out.println("请输入英雄的名字:");
hero.name = sc.nextLine();
hero.go();
hero.hurt();
hero.hurt();
hero.hurt();
hero.hurt();
hero.go();
hero.eat(80);
}
}
【练习题】04.方法的参数及返回值
定义一个计算器;它的功能有
加,减,乘,除,累加,阶乘
求平方,求次方,判断一个数是否为素数;boolean(int),并写测试类来测试这个方法
/*定义一个计算器;它的功能有
加,减,乘,除,累加,阶乘
求平方,求次方,判断一个数是否为素数;boolean(int),并写测试类来测试这个方法*/
package cn.edu.nefu1;
public class Calculator {
//加
void add(double a,double b){
System.out.println("两个数的和为:"+(a+b));
}
//减
void minus(double a,double b){
System.out.println("两个数的差为:"+(a-b));
}
//乘
void multiply(double a,double b){
System.out.println("两个数的积为:"+(a*b));
}
//除
void divide(double a,double b){
System.out.println("两个数的商为:"+(a/b));
}
//累加
void accumulate(int n){
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
System.out.println("累加结果为:"+sum);
}
//阶乘
void factioral(int n){
int sum = 1;
for (int i = 1; i <= n; i++) {
sum *= i;
}
System.out.println(n+"的阶乘为:"+sum);
}
//平方
void square(double a){
System.out.println(a+"的平方为:"+a*a);
}
//次方 a的n次幂
void power(double a,int n){
int sum = 1;
for (int i = 1; i <= n; i++) {
sum *= a;
}
System.out.println(a+"的"+n+"次幂为:"+sum);
}
//判断是否为素数
void isPrimeNumber(int n){
boolean isPrime = true;
if(n == 2){
System.out.println(n+"是素数");
}else {
for (int i = 2; i < n; i++) {
if (n % i == 0) {
isPrime = false;
}
}
if (isPrime == true) {
System.out.println(n+"是素数");
} else {
System.out.println(n+"不是素数");
}
}
}
}
package cn.edu.nefu1;
//测试类
public class CalculatorTest {
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.add(4,5);
calculator.minus(4,5);
calculator.multiply(4,5);
calculator.divide(4,5);
calculator.accumulate(4);
calculator.factioral(4);
calculator.power(4,5);
calculator.square(4);
calculator.isPrimeNumber(5);
}
}
【练习题】05.构造方法:
编写Java程序,用于显示人的姓名和年龄。
定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
/*编写Java程序,用于显示人的姓名和年龄。
定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。
再定义显示(display)方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。*/
package cn.edu.nefu1;
public class Person {
String name;
int age;
//构造方法
Person(String name,int age){
this.age = age;
this.name = name;
display();
}
//显示方法
void display(){
System.out.println(name+"的年龄是:"+age);
}
//主方法
public static void main(String[] args) {
Person person1 = new Person("李明",20);
Person person2 = new Person("洪宇",23);
}
}
【练习题】06.get方法和set方法
定义一个类,该类有一个成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法
提示:假设有String name;则有
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
/*定义一个类,该类有一个成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法
提示:假设有String name;则有
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}*/
package cn.edu.nefu1;
public class GetSet {
String name;
GetSet(String name){
this.name = name;
}
GetSet(){
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public static void main(String[] args) {
GetSet per = new GetSet("杨洋");
System.out.println(per.getName());
per.setName("黄渤");
System.out.println(per.getName());
}
}