“Java MVC之 View层”的版本间的差异
来自CloudWiki
(→客户端) |
|||
第167行: | 第167行: | ||
</nowiki> | </nowiki> | ||
+ | |||
+ | ===(管理端)视图层补充代码=== | ||
+ | ====视图层:UserShow==== | ||
+ | <nowiki>package main; | ||
+ | |||
+ | import java.text.MessageFormat; | ||
+ | import java.util.*; | ||
+ | |||
+ | public class UserShow { | ||
+ | private static Scanner sc = new Scanner(System.in); | ||
+ | public UserShow(){ | ||
+ | |||
+ | } | ||
+ | public ArrayList<String> start(){ | ||
+ | |||
+ | System.out.println("***********************"); | ||
+ | System.out.println("**欢迎登录图书电商平台管理端***"); | ||
+ | System.out.println("***********************"); | ||
+ | System.out.println("账号:"); | ||
+ | String uname = sc.nextLine(); | ||
+ | System.out.println("密码:"); | ||
+ | String pwd = sc.nextLine(); | ||
+ | |||
+ | ArrayList<String> uinfo = new ArrayList<>(); | ||
+ | uinfo.add(uname); | ||
+ | uinfo.add(pwd); | ||
+ | return uinfo; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 主菜单 | ||
+ | */ | ||
+ | public void showMenu() { | ||
+ | /* | ||
+ | * 编写主菜单输出语句 | ||
+ | */ | ||
+ | |||
+ | System.out.println("**********商品管理系统**********\r\n" | ||
+ | + "1.商品上架\r\n" | ||
+ | + "2.商品下架\r\n" | ||
+ | + "3.查询所有商品\r\n" | ||
+ | + "4.根据商品编号查询图书\r\n" | ||
+ | + "5.更改商品数量\r\n" | ||
+ | + "6.退出系统\r\n" | ||
+ | + "*******************************"); | ||
+ | } | ||
+ | public int getChoise() { | ||
+ | //要求用户选择菜单 | ||
+ | System.out.println("请选择(1-6):"); | ||
+ | //获取用户对于菜单的选择 | ||
+ | String value = sc.nextLine(); | ||
+ | //显示用户输入的菜单序号 | ||
+ | System.out.println(MessageFormat.format("您选择的是:{0}", value)); | ||
+ | //未学习异常时不考虑用户的错误输入 | ||
+ | try { | ||
+ | return Integer.parseInt(value); | ||
+ | } catch (NumberFormatException e) { | ||
+ | // 转换失败,对外返回-1,表示输入无效 | ||
+ | return -1; | ||
+ | } | ||
+ | } | ||
+ | /* | ||
+ | public static void main(String[] args) { | ||
+ | // TODO Auto-generated method stub | ||
+ | UserShow us = new UserShow(); | ||
+ | us.start(); | ||
+ | }*/ | ||
+ | |||
+ | } | ||
+ | </nowiki> | ||
+ | ====视图层:GoodsShow==== | ||
+ | <nowiki>package main; | ||
+ | import java.text.MessageFormat; | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.Scanner; | ||
+ | |||
+ | import entity.Goods; | ||
+ | import entity.Tag; | ||
+ | |||
+ | |||
+ | public class GoodsShow { | ||
+ | private static Scanner sc = new Scanner(System.in); | ||
+ | public GoodsShow(){ | ||
+ | |||
+ | } | ||
+ | /** | ||
+ | * 展示所有的商品分类标签 | ||
+ | */ | ||
+ | public void showTags() { | ||
+ | /* | ||
+ | * 编写输出语句 | ||
+ | * | ||
+ | */ | ||
+ | |||
+ | System.out.println("**********商品分类**********\r\n" | ||
+ | + "1.纸质书籍, 软件编程\r\n" | ||
+ | + "2.纸质书籍, 软件编程\r\n" | ||
+ | + "3.电子产品, 学习工具\r\n" | ||
+ | + "4.其他标签\r\n" | ||
+ | + "*******************************"); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 得到管理员为其贴的标签 | ||
+ | */ | ||
+ | |||
+ | public Tag getTag() { | ||
+ | //要求管理员选择标签 | ||
+ | System.out.println("请选择(1-4):"); | ||
+ | //获取管理员对于标签的选择 | ||
+ | String value = sc.nextLine(); | ||
+ | |||
+ | |||
+ | //根据用户的选择创建相应标签对象 | ||
+ | Tag t =null; | ||
+ | try { | ||
+ | int choise = Integer.parseInt(value); | ||
+ | switch(choise) { | ||
+ | case 1: t= new Tag(1, "纸质书籍", "软件编程"); | ||
+ | break; | ||
+ | case 2: t= new Tag(1, "纸质书籍", "文学经典"); | ||
+ | break; | ||
+ | case 3: t= new Tag(1, "电子产品", "学习工具"); | ||
+ | break; | ||
+ | default:t= new Tag(2, "其他", "其他"); | ||
+ | }//显示管理员输入的菜单序号 | ||
+ | System.out.println(MessageFormat.format("您选择的是:{0}", t.toString())); | ||
+ | |||
+ | } catch (NumberFormatException e) { | ||
+ | // 转换失败,对外返回-1,表示输入无效 | ||
+ | System.out.println(e.getMessage()); | ||
+ | } | ||
+ | return t; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 新商品的录入界面 | ||
+ | */ | ||
+ | |||
+ | public Goods inputGoods(Tag t){ | ||
+ | |||
+ | Goods g= new Goods(); | ||
+ | System.out.println("请输入商品编号:"); | ||
+ | String id = sc.nextLine(); | ||
+ | g.setId(id); | ||
+ | System.out.println("请输入商品名称:"); | ||
+ | String name =sc.nextLine(); | ||
+ | g.setName(name); | ||
+ | |||
+ | System.out.println("请输入商品数量:"); | ||
+ | String number =sc.nextLine(); | ||
+ | int n= Integer.parseInt(number); | ||
+ | g.setNumber(n); | ||
+ | |||
+ | System.out.println("请输入商品价格:"); | ||
+ | String price =sc.nextLine(); | ||
+ | Float p = Float.parseFloat(price); | ||
+ | g.setPrice(p); | ||
+ | |||
+ | System.out.println("商品信息录入完毕!\r\n"); | ||
+ | return g; | ||
+ | |||
+ | } | ||
+ | /** | ||
+ | * 输入商品编号的页面 | ||
+ | */ | ||
+ | public String inputId(){ | ||
+ | System.out.println("请输入商品编号:"); | ||
+ | String id = sc.nextLine(); | ||
+ | return id; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 输入要修改的商品的编号和数量的页面 | ||
+ | */ | ||
+ | public ArrayList<String> inputNum(){ | ||
+ | System.out.println("请输入商品编号:"); | ||
+ | String id = sc.nextLine(); | ||
+ | |||
+ | System.out.println("请输入新增加的该商品的数量:"); | ||
+ | String number =sc.nextLine(); | ||
+ | |||
+ | ArrayList<String> ginfo = new ArrayList<>(); | ||
+ | ginfo.add(id); | ||
+ | ginfo.add(number); | ||
+ | return ginfo; | ||
+ | |||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 展示所有商品 | ||
+ | */ | ||
+ | |||
+ | public void showGoods(ArrayList<Goods> g){ | ||
+ | System.out.println("站点商品明细:"); | ||
+ | System.out.println("编号\t商品名"); | ||
+ | System.out.println("***********************"); | ||
+ | for (int i = 0; i < g.size(); i++) { | ||
+ | System.out.println(g.get(i).toString()); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | 返回 [[Java程序设计]] |
2018年6月17日 (日) 14:22的版本
MVC简介
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。
View层代码
- V即View视图是指用户看到并与之交互的界面。可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
客户端
package main; import java.text.MessageFormat; import java.util.*; public class UserShow { private static Scanner sc = new Scanner(System.in); public UserShow(){ } /**用户的登陆页面 * * @return ArrayList<String> 用户名和密码 */ public ArrayList<String> start(){ System.out.println("********************"); System.out.println("*****欢迎登录图书管理平台客户端*****"); System.out.println("********************"); System.out.println("账号:"); String uname = sc.nextLine(); System.out.println("密码:"); String pwd = sc.nextLine(); System.out.println("输入完毕!"); ArrayList<String> uinfo = new ArrayList<>(); uinfo.add(uname); uinfo.add(pwd); return uinfo; } /** * 主菜单展示 */ public void showMenu() { /* * 编写主菜单输出语句 */ System.out.println("**********商品管理系统**********\r\n" + "1.查询所有商品\r\n" + "2.根据商品编号查找商品\r\n" + "3.购买商品\r\n" + "4.取消购买\r\n" + "5.查询购买情况\r\n" + "6.退出系统\r\n" + "*******************************"); } public int getChoise() { //要求用户选择菜单 System.out.println("请选择(1-6):"); //获取用户对于菜单的选择 String value = sc.nextLine(); //显示用户输入的菜单序号 System.out.println(MessageFormat.format("您选择的是:{0}", value)); //未学习异常时不考虑用户的错误输入 try { return Integer.parseInt(value); } catch (NumberFormatException e) { // 转换失败,对外返回-1,表示输入无效 return -1; } } public static void main(String[] args) { // TODO Auto-generated method stub UserShow us = new UserShow(); us.start(); us.showMenu(); us.getChoise(); sc.close(); } }
管理端
package main; import java.text.MessageFormat; import java.util.*; public class UserShow { private static Scanner sc = new Scanner(System.in); public UserShow(){ } /**用户的登陆页面 * * @return ArrayList<String> 用户名和密码 */ public ArrayList<String> start(){ System.out.println("********************"); System.out.println("*****欢迎登录图书电商平台管理端*****"); System.out.println("********************"); System.out.println("账号:"); String uname = sc.nextLine(); System.out.println("密码:"); String pwd = sc.nextLine(); ArrayList<String> uinfo = new ArrayList<>(); uinfo.add(uname); uinfo.add(pwd); return uinfo; } /** * 主菜单展示 */ public void showMenu() { /* * 编写主菜单输出语句 */ System.out.println("**********商品管理系统**********\r\n" + "1.商品上架\r\n" + "2.商品下架\r\n" + "3.查询所有商品\r\n" + "4.根据商品编号查询图书\r\n" + "5.更改商品数量\r\n" + "6.退出系统\r\n" + "*******************************"); } public int getChoise() { //要求用户选择菜单 System.out.println("请选择(1-6):"); //获取用户对于菜单的选择 String value = sc.nextLine(); //显示用户输入的菜单序号 System.out.println(MessageFormat.format("您选择的是:{0}", value)); //未学习异常时不考虑用户的错误输入 try { return Integer.parseInt(value); } catch (NumberFormatException e) { // 转换失败,对外返回-1,表示输入无效 return -1; } } public static void main(String[] args) { // TODO Auto-generated method stub UserShow us = new UserShow(); us.start(); us.showMenu(); us.getChoise(); sc.close(); } }
(管理端)视图层补充代码
视图层:UserShow
package main; import java.text.MessageFormat; import java.util.*; public class UserShow { private static Scanner sc = new Scanner(System.in); public UserShow(){ } public ArrayList<String> start(){ System.out.println("***********************"); System.out.println("**欢迎登录图书电商平台管理端***"); System.out.println("***********************"); System.out.println("账号:"); String uname = sc.nextLine(); System.out.println("密码:"); String pwd = sc.nextLine(); ArrayList<String> uinfo = new ArrayList<>(); uinfo.add(uname); uinfo.add(pwd); return uinfo; } /** * 主菜单 */ public void showMenu() { /* * 编写主菜单输出语句 */ System.out.println("**********商品管理系统**********\r\n" + "1.商品上架\r\n" + "2.商品下架\r\n" + "3.查询所有商品\r\n" + "4.根据商品编号查询图书\r\n" + "5.更改商品数量\r\n" + "6.退出系统\r\n" + "*******************************"); } public int getChoise() { //要求用户选择菜单 System.out.println("请选择(1-6):"); //获取用户对于菜单的选择 String value = sc.nextLine(); //显示用户输入的菜单序号 System.out.println(MessageFormat.format("您选择的是:{0}", value)); //未学习异常时不考虑用户的错误输入 try { return Integer.parseInt(value); } catch (NumberFormatException e) { // 转换失败,对外返回-1,表示输入无效 return -1; } } /* public static void main(String[] args) { // TODO Auto-generated method stub UserShow us = new UserShow(); us.start(); }*/ }
视图层:GoodsShow
package main; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Scanner; import entity.Goods; import entity.Tag; public class GoodsShow { private static Scanner sc = new Scanner(System.in); public GoodsShow(){ } /** * 展示所有的商品分类标签 */ public void showTags() { /* * 编写输出语句 * */ System.out.println("**********商品分类**********\r\n" + "1.纸质书籍, 软件编程\r\n" + "2.纸质书籍, 软件编程\r\n" + "3.电子产品, 学习工具\r\n" + "4.其他标签\r\n" + "*******************************"); } /** * 得到管理员为其贴的标签 */ public Tag getTag() { //要求管理员选择标签 System.out.println("请选择(1-4):"); //获取管理员对于标签的选择 String value = sc.nextLine(); //根据用户的选择创建相应标签对象 Tag t =null; try { int choise = Integer.parseInt(value); switch(choise) { case 1: t= new Tag(1, "纸质书籍", "软件编程"); break; case 2: t= new Tag(1, "纸质书籍", "文学经典"); break; case 3: t= new Tag(1, "电子产品", "学习工具"); break; default:t= new Tag(2, "其他", "其他"); }//显示管理员输入的菜单序号 System.out.println(MessageFormat.format("您选择的是:{0}", t.toString())); } catch (NumberFormatException e) { // 转换失败,对外返回-1,表示输入无效 System.out.println(e.getMessage()); } return t; } /** * 新商品的录入界面 */ public Goods inputGoods(Tag t){ Goods g= new Goods(); System.out.println("请输入商品编号:"); String id = sc.nextLine(); g.setId(id); System.out.println("请输入商品名称:"); String name =sc.nextLine(); g.setName(name); System.out.println("请输入商品数量:"); String number =sc.nextLine(); int n= Integer.parseInt(number); g.setNumber(n); System.out.println("请输入商品价格:"); String price =sc.nextLine(); Float p = Float.parseFloat(price); g.setPrice(p); System.out.println("商品信息录入完毕!\r\n"); return g; } /** * 输入商品编号的页面 */ public String inputId(){ System.out.println("请输入商品编号:"); String id = sc.nextLine(); return id; } /** * 输入要修改的商品的编号和数量的页面 */ public ArrayList<String> inputNum(){ System.out.println("请输入商品编号:"); String id = sc.nextLine(); System.out.println("请输入新增加的该商品的数量:"); String number =sc.nextLine(); ArrayList<String> ginfo = new ArrayList<>(); ginfo.add(id); ginfo.add(number); return ginfo; } /** * 展示所有商品 */ public void showGoods(ArrayList<Goods> g){ System.out.println("站点商品明细:"); System.out.println("编号\t商品名"); System.out.println("***********************"); for (int i = 0; i < g.size(); i++) { System.out.println(g.get(i).toString()); } } }
返回 Java程序设计