“商苑面馆:Java命令行版之 View层”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
 
(未显示同一用户的4个中间版本)
第6行: 第6行:
 
[[文件:java8-1.png]]
 
[[文件:java8-1.png]]
  
 +
===客户端功能===
 +
[[文件:Java2-36.png]]
  
 
==View层代码==
 
==View层代码==
第11行: 第13行:
 
*V即View视图是指用户看到并与之交互的界面。'''可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。'''。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
 
*V即View视图是指用户看到并与之交互的界面。'''可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。'''。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
  
===客户端===
+
===新建类UserShow类===
[[文件:Java2-36.png]]
+
新建包,名称为view
 +
 
 +
在这里存放视图层有关代码
 +
 
 +
在view包下新建UserShow类,初始代码如下:
 +
 
 +
UserShow类的主要作用是向用户提供展示界面
  
<nowiki>package main;
+
  <nowiki>package view;
 
import java.text.MessageFormat;
 
import java.text.MessageFormat;
 
import java.util.*;
 
import java.util.*;
第23行: 第31行:
 
 
 
}
 
}
/**用户的登陆页面
+
        public static void main(String[] args) {
 +
  }
 +
}</nowiki>
 +
 
 +
该类共有一个主要功能:
 +
*展示用户登陆界面
 +
 
 +
 
 +
下面我们用1个UserShow的方法分别来实现他们:
 +
 
 +
===用户登录功能:start()===
 +
<nowiki>/**用户的登陆页面
 
*  
 
*  
 
* @return ArrayList<String> 用户名和密码
 
* @return ArrayList<String> 用户名和密码
第42行: 第61行:
 
uinfo.add(pwd);
 
uinfo.add(pwd);
 
return uinfo;
 
return uinfo;
}
+
}</nowiki>
 +
 
  
/**
+
===编写main方法,进行测试===
* 主菜单展示
+
  <nowiki>public static void main(String[] args) {
*/
 
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
 
// TODO Auto-generated method stub
 
         UserShow us = new UserShow();
 
         UserShow us = new UserShow();
 
         us.start();
 
         us.start();
        us.showMenu();
 
        us.getChoise();
 
 
         sc.close();         
 
         sc.close();         
}
+
}</nowiki>
  
}
+
运行结果:
</nowiki>
 
  
 
+
[[文件:java7-34.png]]
====视图层:GoodsShow====
+
==完整代码==
 
  <nowiki>package main;
 
  <nowiki>package main;
 
import java.text.MessageFormat;
 
import java.text.MessageFormat;
import java.util.ArrayList;
+
import java.util.*;
import java.util.Scanner;
 
  
import entity.Goods;
+
public class UserShow {
import entity.Tag;
 
 
 
 
 
public class GoodsShow {
 
 
private static Scanner sc = new Scanner(System.in);
 
private static Scanner sc = new Scanner(System.in);
public GoodsShow(){
+
public UserShow(){
 
 
 
}
 
}
/**
+
/**用户的登陆页面
* 展示所有的商品分类标签
+
*  
 +
* @return ArrayList<String> 用户名和密码
 
*/
 
*/
public void showTags() {
+
public ArrayList<String> start(){
/*
 
* 编写输出语句
 
*
 
*/
 
 
 
System.out.println("**********商品分类**********\r\n"  
+
System.out.println("********************");
+ "1.纸质书籍, 软件编程\r\n"
+
System.out.println("*****欢迎登录图书管理平台客户端*****");
+ "2.纸质书籍, 软件编程\r\n"
+
System.out.println("********************");
+ "3.电子产品, 学习工具\r\n"
+
System.out.println("账号:");
+ "4.其他标签\r\n"
+
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 Tag getTag() {
+
public static void main(String[] args) {
//要求管理员选择标签
+
// TODO Auto-generated method stub
System.out.println("请选择(1-4):");
+
        UserShow us = new UserShow();
//获取管理员对于标签的选择
+
        us.start();
String value = sc.nextLine();
+
        sc.close();      
 
 
//根据用户的选择创建相应标签对象
 
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>
 
</nowiki>
 +
 +
  
 
返回 [[Java程序设计]]
 
返回 [[Java程序设计]]

2019年5月5日 (日) 14:14的最新版本

MVC简介

MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。

Java8-1.png

客户端功能

Java2-36.png

View层代码

  • V即View视图是指用户看到并与之交互的界面。可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

新建类UserShow类

新建包,名称为view

在这里存放视图层有关代码

在view包下新建UserShow类,初始代码如下:

UserShow类的主要作用是向用户提供展示界面

 package view;
import java.text.MessageFormat;
import java.util.*;

public class UserShow {
	private static Scanner sc = new Scanner(System.in);
	public UserShow(){
		
	}
        public static void main(String[] args) {
  }
}

该类共有一个主要功能:

  • 展示用户登陆界面


下面我们用1个UserShow的方法分别来实现他们:

用户登录功能:start()

/**用户的登陆页面
	 * 
	 * @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;		
	}


编写main方法,进行测试

public static void main(String[] args) {
		// TODO Auto-generated method stub
        UserShow us = new UserShow();
        us.start();
        sc.close();        
	}

运行结果:

Java7-34.png

完整代码

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 static void main(String[] args) {
		// TODO Auto-generated method stub
        UserShow us = new UserShow();
        us.start();
        sc.close();        
	}

}


返回 Java程序设计