【Java】Java学习笔记(2)——Java⾯向对象基础作业函数题本⼈私⼈博客:,⼤部分⽂章会现在博客上传,有不⾜之处欢迎指正。
学校⼩学期Java课程的练习题,留个档便于以后需要时候有例⼦可以回忆,写的烂的地⽅请多多包含
1、求两个数值之和
描述:定义⼀个计算器类,从键盘输⼊两个整数,每个整数按回车确认,调⽤计算器类中的add()⽅法计算两个整数之和,并输出结果。
代码
import java.util.Scanner;
class Computer{
/*
TODO:求两个数的和
功能描述:设计⽅法,计算两个数之和,并返回结果
参数说明:x,y需要计算的数
返回值说明:将求和结果返回
*/
int add(int x,int y){
int re;
re=x+y;
return re;
}
}
public class Example4_6 {
public static void main(String args[]){
Scanner reader =new Scanner(System.in);
Computer com =new Computer();
System.out.println("输⼊两个整数:");
int m = Int();
int n = Int();
int result;
//TODO:调⽤Computer中的add⽅法,传⼊参数,将结果返回给result
result=com.add(m,n);
System.out.println("两数之和:"+result);
}
}
2、模拟收⾳机电池使⽤情况
描述:定义⼀个电池类和收⾳机类,电池类有电量这个成员,收⾳机类有耗电这个⽅法,当播放收⾳机就会耗电,现在模拟收⾳机电池使⽤情况,有⼀个满格的电池,让收⾳机使⽤,使⽤10个⼩时就会⽤完电池,输⼊⼀个整数,要使⽤⼏个⼩时,输出电池使⽤后的电量。
代码
import java.util.Scanner;
public class Example4_7 {
public static void main(String args[]){
Scanner reader =new Scanner(System.in);
System.out.println("输⼊使⽤⼏个⼩时:");
int h = Int();
Battery nanfu =new Battery(100);
System.out.println("南孚电池的储电量是:"+nanfu.electricityAmount);
Radio radio =new Radio();
System.out.println("收⾳机开始使⽤南孚电池");
radio.openRadio(nanfu,h);
System.out.println("⽬前南孚电池的储电量是:"+nanfu.electricityAmount);
}
}
class Battery {
int electricityAmount;
/*
TODO:初始化构造⽅法
功能描述:把传⼊的参数赋值给变量electricityAmount
参数说明:amount为传⼊参数数值,int类型
返回值说明:⽆
*/
Battery(int amount){
electricityAmount=amount;
}
}
class Radio {
void openRadio(Battery battery,int h){
if(h>=0&& h<=10){
battery.electricityAmount = battery.electricityAmount-(h*10);//TODO: 求电量=总电量-(h*10)
}
else{
//TODO:输出字符串时间输⼊格式有误
System.out.println("时间输⼊格式有误");
}
}
}
3、求圆锥的体积
描述:定义⼀个圆类和圆锥类,圆锥的底是⼀个圆,所以圆锥类有⼀个成员是圆类声明的对象,圆锥通过调⽤⽅法将某个圆的引⽤传递给圆锥的圆类型的成员变量,设置圆锥的底的半径和⾼,求出圆锥的体积。
代码
import java.util.Scanner;
public class Test_1 {
public static void main(String args[]){
Scanner reader =new Scanner(System.in);
Circle circle =new Circle();//【代码1】
System.out.println("输⼊圆锥底的半径:");
circle.Double());//【代码2】
Circular circular =new Circular();//【代码3】
System.out.println("输⼊圆锥的⾼:");
circular.Double());
circular.setBottom(circle);//【代码4】
System.out.println("圆锥的体积:"+Volme());
}
}
class Circle {
double radius,area;
void setRadius(double r){
radius=r;
}
double getRadius(){
double getRadius(){
return radius;
}
/*
TODO:计算圆的⾯积
功能描述:根据数学公式,编写计算圆⾯积的代码,半径为radius
参数说明:⽆
返回值说明:圆的⾯积
*/
double getArea(){
area=3.14*radius*radius;
return area;
}
}
class Circular {
Circle bottom;
double height;
void setBottom(Circle c){
bottom = c;
}
void setHeight(double h){
height = h;
}
double getVolme(){
if(bottom == null)
return-1;
else{
//TODO: 求圆锥的体积,将计算结果返回
Area()*height/3.0;
}
}
/*
TODO:获取圆的半径
功能描述:获取Circle对象的半径(radius)数值
参数说明:⽆
返回值说明:Circle对象的半径
*/
double getBottomRadius(){
Radius();
}
/*
TODO:设置圆的半径
功能描述:把传⼊的参数作为圆的半径,赋值给radius字段
参数说明:r为半径
返回值说明:⽆
*/
public void setBottomRadius(double r){
bottom.setRadius(r);
}
}
4、模拟⼿机和SIM卡的组合关系
描述:定义⼀个⼿机类和SIM卡类,⼀个⼿机可以安装任何SIM卡,⼿机类中有SIM卡的成员变量,并可以调⽤⽅法更改其中的SIM 卡,现在创建⼀个⼿机,给⼿机安装了⼀个SIM卡,要换⼀个其他SIM卡,输出原来和更换后的卡号。
代码
System.out.println("输⼊⼿机卡号:");
SIM simOne =new Long());
MobileTelephone mobile =new MobileTelephone();
mobile.setSIM(simOne);
System.out.println("原来的⼿机号码:"+mobile.lookNumber());
System.out.println("更换⼿机卡的号码为:");
SIM simTwo =new Long());
mobile.setSIM(simTwo);
System.out.println("更换后的⼿机号码:"+mobile.lookNumber());
}
}
/*
TODO:编写⼿机卡类
有long型的变量number
有有参构造⽅法
还有⼀个getNumber()获取number
*/
class SIM {
long number;
SIM(long tmp){
number=tmp;
}
void setNumber(long tmp){
number=tmp;
}
long getNumber(){
return number;
}
}
/*
TODO:编写⼿机类
有SIM类声明的变量sim
有setSIM()⽅法设置sim
有lookNumber()⽅法获取sim中的number
*/
class MobileTelephone {
SIM sim;
void setSIM(SIM tmp){
sim=tmp;
}
long lookNumber(){
java定义一维数组并赋值
Number();
}
}
5、梯形共享⼀个下底的问题
描述:定义⼀个Lader类,Lader类创建的梯形对象共享同⼀个下底,设置共享下底值,使⽤Lader类创建两个梯形,并输出两个梯形的下底。
代码
System.out.println("输⼊梯形的共享下底:");
Lader1.Double();//Lader1的字节码被加载到内存,通过类名操作类变量
Lader1 laderOne=new Lader1();
Lader1 laderTwo=new Lader1();
System.out.println("laderOne的下底:"+Bottom());
System.out.println("laderTwo的下底:"+Bottom());
}
}
class Lader1 {
double above,height;//实例变量,上底和⾼
static double bottom;//类变量,下底
/*TODO:设置上底字段的值
功能描述:把传⼊的参数作为上底的值,赋值给字段
参数说明:a传⼊的上底值
返回值说明:⽆
*/
void setAbove(double a){
above=a;
}
/*TODO:设置下底字段的值
功能描述:把传⼊的参数作为下底的值,赋值给字段
参数说明:b传⼊的下底值
返回值说明:⽆
*/
void setBottom(double b){
bottom=b;
}
/*TODO:获取上底
功能描述:获取上底字段的值并返回
参数说明:⽆
返回值说明:上底的值
*/
double getAbove(){
return above;
}
/*TODO:获取下底
功能描述:获取下底字段的值并返回
参数说明:⽆
返回值说明:下底的值
*/
double getBottom(){
return bottom;
}
}
6、⼆分法查询
描述:定义⼀个int型数组并初始化,将数组从⼩到⼤排序,然后使⽤⼆分法判断⽤户从键盘输⼊的整数是否和数组中某个元素的值相同,即是否在数组中,最后打印输出和哪个元素值相同,或者不与数组中任何元素值相同。
代码