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 ...
随机推荐
- ECharts 中国地图 vue
<template> <div> <div id="china_map_box"> <div id="china_map&quo ...
- Django使用本地css/js文件的基本流程
在网上看了很多说Django如何使用本地css/js的文章, 很多都是说的不是很清楚. 今天终于自己来验证一个能用的了, 记录下 在manager.py同层级下创建static文件夹, 里面放上cs ...
- nginx和tomcat 反向代理 部署实例 直接运行
1 前言 1.1 目的 为了正确的部署"ngix+memcached"特编写此部署手册,使安装人员可以通过部署手册知道如何部署系统,也为需要安装该系统的安装人员正确.快速的部署本系 ...
- [【stars-one】Android图标生成器 PC工具
原文: [stars-one]Android图标生成器 - Stars-One的杂货小窝 一款Android开发者的PC工具软件,可以快速生成android开发需要使用的xml矢量图标文件 起因 个人 ...
- day28--Java泛型01
Java泛型01 1.泛型的理解和好处 看一个需求: 请编写程序,在ArrayList中添加三个Dog对象 Dog对象含有name和age,并输出name和age(要求使用getXXX()) 先用传统 ...
- linux怎么添加用户
在Linux中添加普通新用户 超级用户(也称为"root")是一个具有修改系统中任何文件权力的特别账号.在日常工作中,最好不要使用超级用户账号进入系统,因为任何错误操作都可能导致巨 ...
- Linux 运维工程师面试真题-1-必会Linux 操作系统知识
Linux 运维工程师面试真题-1-必会Linux 操作系统知识 运维的整个面试流程其实是非常繁杂的,为了方便大家准备,我们特地在这里给大家整理了 一些 Linux 系统运维相关的面试题,有些问题没有 ...
- 记录--纯CSS实现一个简单又不失优雅的步骤条
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 步骤条是一种用于引导用户按照特定流程完成任务的导航条,在各种分步表单交互场景中广泛应用.先来看一下几个主流前端 UI 框架中步骤条组件的样 ...
- 记录--从原理分析vue开发环境搭建的全部过程
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 平时大家开发vue项目的时候,相信大部分人都是使用 vue-cli脚手架生成的项目架构,然后 npm run install 安装依赖,n ...
- 靶场搭建----phpstudy2018安装及注意问题
安装 官网下载: https://www.xp.cn/download.html 新人推荐2018 版本phpstudy 介绍 系统服务------开机自启 非服务模式------开机不自启 搭建好环 ...