Java实现查看手机配置与功能
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友。您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!"
代码
```Java
import java.util.Scanner;
class once{
private String brand ; // 品牌 不写死应该是可以后续写出有参构造方法自己去控制
private int price; // 价格
private String os; // 操作系统
private String type; // 型号
// 构造方法函数
public once(String brand, int price, String os, String type) {
this.brand = brand;
this.price = price;
this.os = os;
this.type = type;
}
// 配置类
public void configuration(){
System.out.println("手机品牌:"+brand+"\n价格:"+price+"\n操作系统:"+os+"\n型号:"+type+"\n===================");
}
// 拨号功能
public void dial(){
System.out.println("[1]自动拨打联系人电话 \t[2]来电转接听 \t[3]骚扰电话屏蔽 \t[4].........\n================" );
}
// 游戏功能
public void gage(String you1,String you2,String you3)
{
System.out.println("[1]"+you1+"\t[2]"+you2+"\t[3]"+you3+"\t[4]..........\n=======================");
}
// 音乐功能
public void music(String yin1,String yin2,String yin3){
System.out.println("[1]"+yin1+"\t[2]"+yin2+"\t[3]"+yin3+"\t[4]...........\n=======================");
}
}
public class phone {
public static void main(String[] args) {
once box1 = new once("小米",2999,"ios","13promax");
once box2 = new once("华为",4999,"鸿蒙","13promax冷锋蓝");
Scanner sc = new Scanner(System.in); // 键盘录入控制参数
System.out.println("请输入品牌名称查看配置 \n [1]\t小米 \n [2]\t华为\n输入e键退出程序 \n==========================");
String console = sc.nextLine();
while (true){
if (console.equals("小米")){
// 选择调用
box1.configuration();
System.out.println("编号获取功能:\t[1]电话功能\t[2]游戏功能\t[3]音乐功能");
int number = sc.nextInt();
if (number ==1){
box1.dial();
}else if(number ==2){
box1.gage("王者农药","和平精英","明日之后");
}else if(number ==3){
box1.music("晴天","七里香","落泪");
}else {
System.out.println("非法输入");
}
}else if(console.equals("华为")){
box2.configuration();
System.out.println("编号获取功能:\t[1]电话功能\t[2]游戏功能\n[3]音乐功能");
int number = sc.nextInt();
if (number ==1){
box1.dial();
}else if(number ==2){
box1.gage("第五人格","节奏大师","保卫萝卜");
}else if(number ==3){
box1.music("花海","退后","半岛铁盒");
}else {
System.out.println("非法输入");
}
}else if (console.equals("e") | console.equals("E")){
System.out.println("退出查看 \n=====================");
break;
}else {
System.out.println("非法字符");
break;
}
}
}
}
```
实现思路
(1) 分析程序不包含数据的交互改查,所以不需要封装的get和set方法,定义,只需要定义普通的成员属性即可,创建once类定义
(2) 使用有参构造函数初始化实例对象传入4个定义好的成员变量分别是 品牌(brand),价格(price),操作系统(os),型号(type),实例化2次数据也是独立的,需要写入两部手机的参数
(3) 在once类中写入我们的普通方法,方法是我们的功能 分别是 dial(拨号功能) gage(游戏) music(音乐),同时里面加入形参,利用对象调用还可以传入自己写的实参,形成复用
(4) 在mian中使用Scanner配合if来判断何种手机,再进行方法的调用
0X1 设计功能所需
1 行我们引用好的键盘录入的类
2-14 我们定义好了once类 里面定义了需要有的四个属性,这些都是没有交互的所以我并没有定义set和get方法下方还有有参构造函数,将四个属性全部加入,后续需要实例化
38- 41回到主类的mian方法中,我们实例化有参构造函数,传入两部手机相应的配置,参数全部都是可控的,实例化出box1和box2这两个对象,通过这两个对象就可以调用后续的各种功能,并且不会产生冲突的现象因为实例化后都是独立的
回到class once中,上方已经实例化对象,那么类里面我们开始定义功能
16-18 查看手机功能,用户在选择好何种手机号会通过对象.方法() 的形式调用这个方法,方法内部写的就是之前有参构造函数传递而来的数据,当然要分清是box1还是box2的数据
19-20 dial拨号功能,定义的只是简单的打印语句,用户选择拨号功能后会自动调用这个方法,利用 \t进行空格和 \n换行让程序更加观
24-27 gage定义游戏功能,但是写入了形参,这里没有写死是因为游戏不像拨号肯定会有不同,这里定义了3个String类型形参,我们调用时可以自定义的写入我们想要的游戏名称
28-31 music音乐功能选择何种游戏,写法和gage功能一致,定义形参,实参留给我们自定义去写入。
到这里我们once类中已经写完,使用功能均在main方法中。
0X2 获取用户输入判断
42-44 进入在main方法中,在这里首先引入了键盘录入语句Scanner 对应上文 图1-1,获取到了参数,那么就是常规打印语句把条件输出到控制台,有小米和华为通过还有ese退出选项,这样更人性化,退出功能是直接breack,44 行获取到输入的字符串 给到console变量保存
45-59 此步就是判断代码,这个功能能不能实现就看判断到不到位,我还是喜欢if的形式去判断输入,配合while(true) 达到非常好的效果,并且退出程序也是可选的。
为了更加明了我将代码拆分来逐步讲解,
46 这里是第一个if判断,equals比较两个字符串是否相等,用户输入小米而正常进入程序
48 调用手机功能方法,我们小米是box1类则是 box1.configuration() 我们有参的数据也会传递输出手机的各项配置
49-50 完成第一个判断后输出该输出的,进行第二个判断,也就是手机的功能 是电话还是游戏还是音乐,使用int 类型变量存储,因为是编号获取保存到 number 中
51-59 利用number 变量去进行编号的判断,1 2 3 分别对应手机的功能, 1为拨号功能,调用 dial方法即可,直接打印;2 是游戏game功能,调用方法写入我们自定义的实参,3 音乐 music 同样如此, 如果是不正常输入直接截停,并且利用 while(true) 继续开始选择编号
运行结果
输入完一个编号还可以继续选择,非法输入会自动的回到选择编号位置,也可以加入 出功能,退出两个if则是定义一个定量为flag来控制,退出则讲变量变成 false,我这里没有写入感兴趣的可以自己动手写一写
0X3 退出功能结束
60-72 这里和上文判断一致,我也就不过多赘述
73-75 输入E/e 键退出程序,配合 逻辑或| 和equals 这里 大小写都可以判断到退出
76-79 非法字符强制退出结束程序没有什么操作
总结以上
以上就是程序全部讲解,实现其实并没有多复杂,把握基础多花点时间,与其抱怨不如提升自己;如有不正确不恰当之处 望老师同学不吝赐教!
Java实现查看手机配置与功能的更多相关文章
- 【java】JDK安装后,没有配置环境变量,也可以java -version查看到版本信息
JDK安装后,没有配置环境变量,也可以java -version查看到版本信息 原因是:jdk安装过程,java.javaw.javaws三个命令被复制到C:\windows\system32目录下 ...
- Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置
此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...
- 【原创】LoadRunner Java Vuser脚本的配置和调试指南
1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...
- FasfDFS整合Java实现文件上传下载功能实例详解
https://www.jb51.net/article/120675.htm 在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java ...
- Java之SpringBoot自定义配置与整合Druid
Java之SpringBoot自定义配置与整合Druid SpringBoot配置文件 优先级 前面SpringBoot基础有提到,关于SpringBoot配置文件可以是properties或者是ya ...
- Java学习-001-JDK安装配置
本节主要讲述在 Win7 64bit 系统下安装.配置 JDK8u25,敬请参阅.详细步骤如下: 一.JDK下载 您可到 官方网站 或 我的云盘 下载,对应的JDK8u25的安装程序,下载过程不再赘述 ...
- SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework
1.调用前组装参数 2.调用发送信息服务脚本 .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...
- 【原创】LoadRunner Java Vuser开发环境配置指南
1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...
- 在Eclipse的DDMS中查看手机data文件夹中的内容
在模拟器状态下,在Eclipse的DDMS中的File Explorer下查看手机data/data中的内容是件非常轻松的事情,特别是查看databases 但是在真机模式下就全然不是那么一回事了,在 ...
- cpu-z如何查看电脑配置数据方法介绍
CPU-Z是款经典的内存检测工具,具有5大功能,使用CPU-Z可以查询电脑的处理器.缓存.主板.内存.显卡以及SPD的信息.但是怎么具体看哪一个项目呢?在今天的教程中,小编就跟大家分享一下cpu-z ...
随机推荐
- npm install 的执行顺序,和 安装包的源死磕
npm install 源的地址加载执行顺序 从近到远 lock文件 这里直接就记录了 包的下载地址 .npmrc 里面的内容 registry=http://registry.npm.xxxx.co ...
- 制作B站直播简介
本文只用于个人总结备份,如果对你有帮助就更好了. 准备工作 准备好简介要用的的背景图.头像图,上传到图床生成图片链接. 简介的内容可分为主播简介.直播时间.直播内容.联系方式,内容根据实际需要修改,需 ...
- 使用supervisor后台运行celery
一.先安装supervisor 1.安装命令: $ pip install supervisor 如果在沙盒环境下安装不上的话使用: $ apt-get install supervisor 二.安装 ...
- cpprestsdk有bug.
好不容易将cpprestsdk移植到MinGW,并编译通过,出于安全还是先将samples还有tests测试一下是否正常. 用samples/blackjack一测试就出现奇葩现象,server一端会 ...
- 【VMware vSAN】全新vSAN 8 ESA快速存储架构配置文件服务并创建文件共享。
早在2020年,VMware就发布了vSphere7.vSAN7.VCF4等等产品的更新,当时随着云原生的火热,基于容器技术的现代应用程序快速发展,Docker.Kubernetes这些容器平台被广泛 ...
- Java基础知识篇02——Java基本语法
一.数据类型 定义: 就是用了保存数据的一个类型,一种数据类型,只能保存该类型数据值 作用: 只有了解数据类型,才能选择合适的类型存放数据,才能更好的利用计算机硬件资源(内存和硬盘等). 不同的数据类 ...
- vue基础知识和原理(二)
1.13 列表渲染 v-for指令 用于展示列表数据 语法:v-for="(item, index) in xxx" :key="yyy" 可遍历:数组.对象. ...
- python高级技术(进程一)
一 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实 ...
- FPGA 原语之一位全加器
FPGA原语之一位全加器 1.实验原理 一位全加器,三个输入,两个输出.进位输出Cout=AB+BC+CA,本位输出S=A异或B异或C.实验中采用三个与门.一个三输入或门(另外一个是两个或门,功能一致 ...
- .net和java串口通讯压力测试对比
最近由于工作要求,需要对一个串口通讯设备进行压力测试,要求连续持续对串口设备发送指令,无间隔,测试设备是否会死机. 要求做到毫秒级,测试第三方的工具,基本上都无法达到毫秒级,最少的也是10毫秒. 于是 ...