Java面向对象第二章方法与方法重载练习题

news/2024/10/3 21:30:11/

 练习1:简易计算器

需求说明

实现简易计算器,分别实现两个整数、三个浮点数的加法运算

java">package dierzhang;import java.util.Scanner;public class LianxiCounter {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//读取键盘while(true) {System.out.println("1 两个整数相加,2 三个浮点数相加,其他 结束");int ww = sc.nextInt();if(ww==1) {while(true) {int s = sc.nextInt();int s2 = sc.nextInt();Counter s1 = new Counter(s,s2);break;}}else if(ww==2) {while(true) {double s = sc.nextDouble();double s2 = sc.nextDouble();double s3 = sc.nextDouble();Counter s1 = new Counter(s,s2,s3);break;}}else {System.out.println("程序结束");break;}}
}
}

运行:

java">1 两个整数相加,2 三个浮点数相加,其他 结束
2
1.11
2.22
11.
14.33
1 两个整数相加,2 三个浮点数相加,其他 结束
3
程序结束

1.构造方法 编写Java程序模拟简单的计算器。 定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。
编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、
除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 
在main方法中创建Number类的对象调用各个方法并显示计算结果

 

java">package dierzhang;public class Number {public int n1;public int n2;public  Number(int n1,int n2) {this.n1 = n1;this.n2 = n2;}public int addition() {return n1+n2;}public int subtration() {return n1-n2;}public int multiplication() {return n1*n2;}public int division() {return n1/n2;}
}
java">package dierzhang;import java.util.Scanner;public class Lianxi1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入数字");int w = sc.nextInt();int ww = sc.nextInt();Number m = new Number(w,ww);int s1 = m.addition();int s2 = m.subtration();int s3 = m.multiplication();int s4 = m.division();System.out.println("相加:"+s1+"相减:"+s2+"相乘:"+s3+"相除:"+s4);}}

 运行:

java">请输入数字
2
2
相加:4相减:0相乘:4相除:1

2. 编写Java程序用于显示人的姓名和年龄。 定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。
定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。
 在main方法中创建人类的实例然后将信息显示

java">package dierzhang;/*** 人类类* @author 26255**/
public class Person {public String name;public int age;public Person(String name,int age) {this.name = name;this.age = age;}public void display() {System.out.println("姓名:"+this.name+"\n年龄:"+this.age);}
}

 

java">package dierzhang;import java.util.Scanner;public class Lianxi2 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);System.out.println("请输入姓名:");String x = sc.next();System.out.println("请输入年龄:");int n = sc.nextInt();Person m = new  Person(x,n);m.display();}}

运行:

java">请输入姓名:
ada
请输入年龄:
12
姓名:ada
年龄:12


3.构造方法与重载 为“无名的粉”写一个类class WuMingFen 要求:
     1.有三个属性 面码:String theMa 粉的分量(两) int quantity 是否带汤 boolean likeSoup
     2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen(“牛肉”,3,true); 
    3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen(“牛肉”,2); 
    4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen(); 
    5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控制台上

java">package dierzhang;/*** 无名的粉* @author 26255**/
public class WuMingFen {public String theMa = "酸辣";public int quantity = 2;public boolean likeSoup = false;public WuMingFen() {likeSoup = true;}public WuMingFen(String theMa,int quantity,boolean likeSoup) {this.theMa = theMa;this.quantity = quantity;this.likeSoup = likeSoup;}public WuMingFen(String theMa,int quantity) {this.theMa = theMa;this.quantity = quantity;}public void  check() {System.out.println("面吗;"+theMa+"\n 粉的分量"+quantity+"两 \n是否带汤:"+likeSoup);}
}
java">package dierzhang;import java.util.Scanner;/*** 无名的粉* @author 26255**/
public class Lianxi3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String theMa = sc.next();int quantity = sc.nextInt();boolean likeSoup = sc.nextBoolean();WuMingFen s1 = new WuMingFen();WuMingFen s2 = new WuMingFen(theMa,quantity);WuMingFen s3 = new WuMingFen(theMa,quantity,likeSoup );s1.check();s2.check();s3.check();}}

 

java">酸辣
2
true
面吗;酸辣粉的分量2两 
是否带汤:true
面吗;酸辣粉的分量2两 
是否带汤:false
面吗;酸辣粉的分量2两 
是否带汤:true


4.定义一个网络用户类 要处理的信息有用户ID、用户密码、email地址。
在建立类的实例时 把以上三个信息都作为构造函数的参数输入 其中用户ID和用户密码时必须的 
缺省的email地址是用户ID加上字符串”

java">package dierzhang;/*** 网络用户类* @author 26255**/
public class Netuser {//用户IDpublic int id;//用户密码public String password;//email地址public String email;public Netuser(int id,String password,String email) {this.setId(id);this.setPassword(password);this.email =email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
java">package dierzhang;public class Lianxi4 {public static void main(String[] args) {Netuser m = new Netuser(12346,"嗡嗡嗡" ,12346+"qqq");System.out.println("用户ID:"+m.id);System.out.println("用户密码:"+m.password);System.out.println("email地址:"+m.email);}}

运行:

java">用户ID:12346
用户密码:嗡嗡嗡
email地址:12346qqq


http://www.ppmy.cn/news/1533626.html

相关文章

《Windows PE》3.2.4节表

节表由多个节表项(IMAGE_SECTION_ HEADER)组成,每个节表项(40个字节)记录了 PE中与某个特定的节有关的信息,如节的属性、节 的大小、在文件和内存中的起始位置等。节表中节的数量由字段IMAGE_FILE_HEADER. …

光通信——PON技术

PON网络结构 PON(Passive Optical Network,无源光网络)系统的基本组成包括OLT(Optical Line Terminal,光线路终端)、ODN(Optical Distribution Network,光分配单元)和ON…

ubuntu 安装k8s

#关闭 Swap 内存,配置完成建议重启一下 nano /etc/fstab #注释下面相似的一行 #/swapfile none swap sw 0 0 #重启 reboot#部属k8s apt update && apt install -y apt-transport-https 下载 gpg 密钥 curl https://mi…

Spring Boot与模板方法模式:实现统一的日志处理流程

在Spring Boot应用程序中,使用模板方法模式来实现统一的日志处理流程是一种有效的方法。模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这样可以确保算法的结构保持不变,同时允许子类重定义某些步骤。 模板方法模式的基…

使用百度文心智能体创建多风格表情包设计助手

文章目录 一、智能定制,个性飞扬二、多元风格,创意无限 百度文心智能体平台为你开启。百度文心智能体平台,创建属于自己的智能体应用。百度文心智能体平台是百度旗下的智能AI平台,集成了先进的自然语言处理技术和人工智能技术&…

螺狮壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)

3 网络及IP规划 3.1 容器连接网络初步规划 规划所有容器与虚拟机的三张网卡以macvlan的方式进行连接(以后根据应用可以更改),在docker下创建nat、wifi、nei、wai四张网卡,他们和虚拟机及宿主机上NIC的相关连接参数如下表所示&am…

Vue3丨进一步了解这 20 个响应式 API,写码如有神

前面说的话 在 Vue2 中,个人觉得对于数据的操作比较 “黑盒” 。而 Vue3 把响应式系统更显式地暴露出来,使得我们对数据的操作有了更多的灵活性。所以,对于 Vue3 的几个响应式的 API ,我们需要更加的理解掌握,才能在实…

H.264编解码工具 - FFmpeg

一、简介 FFmpeg是一款用于处理多媒体数据的开源软件,可以完成音频、视频和多媒体流的编解码、转码、解码、录制、流媒体播放等功能。它提供了丰富的命令行工具和库函数,适用于各种平台和操作系统。 FFmpeg支持多种常见的音视频格式,包括MP3、WAV、FLAC、MP4、AVI、MKV等。它…