实验 1 机动车
实验目的
本实验的目的是让学生使用类来封装对象的属性和功能。
实验要求
编写一个 Java 应用程序,该程序中有两个类: Vehicle(用于刻画机动车)和 User(主类)。具体要求如下:
实验代码
public class 机动车01 {
public static void main(String[] args) {
Vehicle a = new Vehicle(60.0,100);
a.speedDown(70);
a.speedDown(20);
a.speedUp(20);
}
}
class Vehicle{
private double speed;
private int power;
public void speedUp(int n){
speed += n;
System.out.println("加速后机动车速度为" + speed);
}
public void speedDown(int n){
if(n > speed){
System.out.println("参数错误!");
}else {
speed -= n;
System.out.println("减速后机动车速度为" + speed);
}
}
public Vehicle() {
}
public Vehicle(double speed, int power) {
this.speed = speed;
this.power = power;
System.out.println("机动车速度为:" + speed + "机动车功率为:" + power);
}
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
public int getPower() {
return power;
}
public void setPower(int power) {
this.power = power;
}
}
运行截图
实验 2 家中的电视
实验目的
本实验的目的是让学生掌握对象的组合以及参数传递。
实验要求
编写一个 Java 应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即
通过调用一个方法将某个电视的引用传递给自己的电视成员。具体要求如下。
程序效果示例
程序运行效果如图 4.5 所示。
实验代码
Familiy.java
package 家中的电视02;
public class Familiy {
private TV homeTV;
public void buyTV(TV a){
homeTV = a;
}
public void remoteControl(int a){
System.out.println("将电视更换到" + a + "频道");
homeTV.setChannel(a);
}
public void seeTV(){
System.out.println("在看电视节目");
homeTV.showProgram();
}
}
TV.java
package 家中的电视02;
public class TV {
private int channel;
public void showProgram(){
switch (channel){
case 1:
System.out.println("动画频道");
break;
case 2:
System.out.println("经济频道");
break;
case 3:
System.out.println("少儿频道");
break;
case 4:
System.out.println("电影频道");
break;
case 5:
System.out.println("体育频道");
break;
}
}
public TV() {
}
public TV(int channel) {
this.channel = channel;
}
public int getChannel() {
return channel;
}
public void setChannel(int channel) {
this.channel = channel;
}
}
MainClass.java
package 家中的电视02;
public class MainClass {
public static void main(String[] args) {
TV haierTV =new TV(5);
Familiy zhangSanFamily = new Familiy();
zhangSanFamily.buyTV(haierTV);
System.out.println("haierTV的频道是" + haierTV.getChannel());
System.out.println("zhangSanFamily开始看电视节目");
haierTV.showProgram();
System.out.print("zhangSanFamily");
zhangSanFamily.remoteControl(2);
System.out.println("haierTV的频道是" + haierTV.getChannel());
System.out.print("zhangSanFamily");
zhangSanFamily.seeTV();
}
}
运行截图
实验 3 共饮同井水
实验目的
本实验的目的是让学生掌握类变量与实例变量,以及类
方法与实例方法的区别。
实验要求
编写程序模拟两个村庄共用同一口井水。编写一个 Village 类,该类有一个静态的 int 型
成员变量 waterAmount,用于模拟井水的水量。在主类 Land 的 main()方法中创建两个村庄,
一个村庄改变了 waterAmount 的值,另一个村庄查看 waterAmount 的值。
实验代码
public class 共饮同井水03 {
public static void main(String[] args) {
Village v1 = new Village(100);
Village v2 = new Village();
System.out.println("最初的水量" + v1.getWaterAmount());
//v1用掉20的水,还剩下80
v1.setWaterAmount(80);
//v2查看剩余水量
System.out.println("剩下的水量" + v2.getWaterAmount());
}
}
class Village{
private static int waterAmount;
public Village() {
}
public Village(int waterAmount) {
this.waterAmount = waterAmount;
}
public int getWaterAmount() {
return waterAmount;
}
public void setWaterAmount(int waterAmount) {
this.waterAmount = waterAmount;
}
}
运行截图
实验 4 求方程的根
实验目的
本实验的目的是让学生掌握使用 package 和 import 语句。
实验要求
实验代码
SquareEquation
package 求方程的根04.tom.jiafei;
import java.util.Scanner;
public class SquareEquation {
public static void function (double a,double b,double c){
double x1=(-b+Math.sqrt(b*b-4*a*c))*1/(2*a);
double x2=(-b-Math.sqrt(b*b-4*a*c))*1/(2*a);
System.out.println("方程根为"+x1);
System.out.println("方程根为"+x2);
}
}
SunRise
package 求方程的根04;
import 求方程的根04.tom.jiafei.SquareEquation;
import java.util.Scanner;
public class SunRise {
public static void main(String[] args) {
double a,b,c;
System.out.println("请分别输入一元二次方程的a,b,c值");
Scanner input=new Scanner(System.in);
boolean T = true;
while(T){
System.out.println("输入a:");
a=input.nextDouble();
System.out.println("输入b:");
b=input.nextDouble();
System.out.println("输入c:");
c=input.nextDouble();
if(b*b-4*a*c<0) {
System.out.println("该方程无解,请重新输入");
}else{
SquareEquation.function(a,b,c);
T = false;
}
}
}
}