chapter05--车辆,乡村用水,一元二次方程的根,电视频道

本文通过三个具体实例演示了Java编程的基本概念和技术应用,包括车辆对象的创建及操作、模拟乡村用水情况以及解决一元二次方程问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

车辆

public class Vehicle {
	//声明变量
     double speed;
     int power;
     //定义函数,体现机动车加速功能
     void speedUp(int s){
    	//将参数s的值与成员变量speed的和赋值给成员变量speed
    	 speed=speed+s;
     }
     //定义减速功能函数
     void speedDown(int d){
    	 //将成员变量speed与参数d的差值赋值给成员变量speed
    	 speed=speed-d;
     }
     //获取机动车速度
     double getSpeed(){
    	return speed; 
     }
     //设置机动车功率
    void setPower(int p){
    	 //将参数p的值赋值给成员变量power
    	power=p;
     }
    //获取机动车功率
    int getPower(){
    	return power;//返回成员变量power的值 
     }
}
public class User {
	public static void main(String[] args){
		Vehicle car1,car2;
		//使用new运算符和默认的构造方法创建对象car1
		 car1=new Vehicle();
		//使用new运算符和默认的构造方法创建对象car2
		 car2=new Vehicle();
		 car1.setPower(128);
		 car2.setPower(76);
		 System.out.println("car1的功率是:"+car1.getPower());
		 System.out.println("car2的功率是:"+car2.getPower());
		 //car1调用speedUp()方法将自己的speed的值增加80
		 car1.speedUp(80);
		//car2调用speedUp()方法将自己的speed的值增加100
		 car2.speedUp(100);
		 System.out.println("car1目前的速度:"+car1.getSpeed());
		 System.out.println("car2目前的速度:"+car2.getSpeed());
		 car1.speedDown(10);
		 car2.speedDown(20);
		 System.out.println("car1目前的速度:"+car1.getSpeed());
		 System.out.println("car2目前的速度:"+car2.getSpeed());
	}
}


运行结果:

乡村用水:

package Drink;

public class Land {
   public static void main(String[] args){
	   Village.setWaterAmount(200);//用类名调用setWaterAmount(int m),并向参数传值200
	   int leftWater=Village.waterAmount;  //用Village类的类名访问waterAmount
	   System.out.println("水井中有"+leftWater+"升水");
	   Village zhaoZhuang,maJiaHeZi;
	   zhaoZhuang=new Village("赵庄");
	   maJiaHeZi=new Village("马家河子");
	   zhaoZhuang.setPeopleNumber(80);
	   maJiaHeZi.setPeopleNumber(120);
	   zhaoZhuang.drinkWater(50);//zhaoZhuang调用drinkWater(int n),并向参数传值50
	   leftWater=Village.lookWaterAmount(); //maJiaHeZi调用lookWaterAmount()方法
	   String name=maJiaHeZi.name;
	   System.out.println(name+"发现水井中有"+leftWater+"升水");
	   maJiaHeZi.drinkWater(100);
	   leftWater=Village.lookWaterAmount();//zhaoZhuang调用lookWaterAmount()方法
	   name=zhaoZhuang.name;
	   System.out.println(name+"发现水井中有"+leftWater+"升水");
	   int peopleNumber=zhaoZhuang.getPeopleNumber();
	   System.out.println("赵庄的人口"+peopleNumber);
	   peopleNumber=maJiaHeZi.getPeopleNumber();
	   System.out.println("马家河子的人口:"+peopleNumber);
   }
}


package Drink;

public class Village {
   static int waterAmount;//模拟水井的水量
   int peopleNumber;//村庄的人数
   String name;
   Village(String s){
	   name=s;
   }
   static void setWaterAmount(int m){
	   if(m>0)
		   waterAmount=m;
   }
   void drinkWater(int n){
	   if(waterAmount-n>=0){
		   waterAmount=waterAmount-n;
		   System.out.println(name+"喝了"+n+"升水");
	   }
	   else
		   waterAmount=0;
   }
   static int lookWaterAmount(){
	   return waterAmount;
   }
   void setPeopleNumber(int n){
	   peopleNumber=n;
   }
   int getPeopleNumber(){
	   return peopleNumber;
   }
}

运行结果:

一元二次方程的根:

package Square;

public class SquareEquation {
      double a,b,c;
      double root1,root2;
      boolean boo;
      public SquareEquation(double a,double b,double c){
    	  this.a=a;
    	  this.b=b;
    	  this.c=c;
    	  if(a!=0)
    		  boo=true;
    	  else
    		  boo=false;
      }
      public void getRoots(){
    	  if(boo){
    		  System.out.println("是一元二次方程");
    		  double disk=b*b-4*a*c;
    		  if(disk>=0){
    			  root1=(-b+Math.sqrt(disk))/(2*a);
    			  root2=(-b-Math.sqrt( disk))/(2*a);
    			  System.out.printf("方程的根:%f,%f\n",root1,root2);
    		  }
    		  else{
    			  System.out.printf("方程没有实根\n");
    		  }
    	  }
    	  else{
    		  System.out.println("不是一元二次方程");
    	  }
      }
      public void setCoefficient(double a,double b,double c){
    	  this.a=a;
    	  this.b=b;
    	  this.c=c;
    	  if(a!=0)
    		  boo=true;
    	  else
    		  boo=false;
      }
}
package Square;
import Square.*;
public class SunRise {
     public static void main(String[] args){
    	 SquareEquation equation=new SquareEquation(4,5,1);
    	 equation.getRoots();
    	 equation.setCoefficient(-3,4,5);
    	 equation.getRoots();
     }
}

运行结果:

电视频道:

package Television;

public class Family {
	TV homeTV;
	void buyTV(TV tv){
		//将参数tv赋值给homeTV
		homeTV=tv;
	}
	void remoteControl(int m){
		homeTV.setChannel(m);
	}
	void seeTV(){
		homeTV.showProgram();//homeTV调用showProgram()方法
	}

}

package Television;

public class MainClass {
	public static void main(String[] args){
		TV haierTV=new TV();
		haierTV.setChannel(5);//haierTV调用setChannel(int m),并向参数m传递5
		System.out.println("haierTV的频道是"+haierTV.getChannel());
		Family zhangsanFamily=new Family();
		zhangsanFamily.buyTV(haierTV);//zhangsanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV
		System.out.println("zhangsanFamily开始看电视节目");
		zhangsanFamily.seeTV();
		int m=2;
		System.out.println("zhangsanFamily将电视更换到"+m+"频道");
		zhangsanFamily.remoteControl(m);
		System.out.println("haierTV的频道是"+haierTV.getChannel());
		System.out.println("zhangsanFamily再看电视节目");
		zhangsanFamily.seeTV();
	}

}
package Television;

public class TV {
     int channel;//电视频道
     //设置电视频道
     void setChannel(int m){
    	 if(m>=1){
    		 channel=m;
    	 }
     }
     //获取电视频道
     int getChannel(){
    	 return channel;
     }
     //展示节目
     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;
	     default:System.out.println("不能收看"+channel+"频道");
    	 }
     }
}
运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值