为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

6 回答

你把新建的xml名字改成不是原来的那个,然后再MainActivity里面的R.layout.__也改成那个你定的名字就OK了<a>,<span>displayblock;

0 回复 有任何疑惑可以回复我~

感觉最上面的那个模块化的代码可读性最强,一目了然。牛逼

0 回复 有任何疑惑可以回复我~
package com.View;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

import com.Action.StudentAction;
import com.Entity.Student;

public class View {
	private static final String CONTEXT="欢迎进入学生管理系统:\n"+
			"功能列表如下:\n"+
			"[MAIN/M]:主菜单\n"+
			"[QUERY/Q]:查询全部学生信息\n"+
			"[GET/G]:查看某位学生的详细信息\n"+
			"[ADD/A]:添加学生信息\n"+
			"[UPDATE/U:]更新学生信息\n"+
			"[DELETE/D]:删除学生信息\n"+
			"[FQUERY/F:]查询学生信息(根据姓名、手机号...查询)\n"+
			"[EXIT/E]:退出学生管理系统。\n"+
			"[BREAK/B]:结束当前操作,返回主菜单。";
	private static final String ACTION_MAIN = "MAIN";
	private static final String ACTION_QUERY = "QUERY";
	private static final String ACTION_GET = "GET";
	private static final String ACTION_ADD = "ADD";
	private static final String ACTION_UPDATE = "UPDATE";
	private static final String ACTION_DELETE = "DELETE";
	private static final String ACTION_FQUERY = "FQUERY";
	private static final String ACTION_EXIT = "EXIT";
	private static final String ACTION_BREAK = "BREAK";
	private static Student stu1;

	public static void main(String[] args) {
		System.out.println(CONTEXT);
		Scanner input = new Scanner(System.in);
		Student stu = new Student();
		String status = null;//状态
		String name = null;
		String value = null;
		Integer step = 1;
		while (input.hasNext()) {
			String in = input.next();
			if (ACTION_EXIT.equals(in.toUpperCase())
					|| ACTION_EXIT.substring(0, 1).equals(in.toUpperCase())) {
				System.out.println("退出学生管理系统。");
				break;
			}else if(ACTION_MAIN.equals(in.toUpperCase())
					|| ACTION_MAIN.substring(0, 1).equals(in.toUpperCase())){
				System.out.println(CONTEXT);
				continue;
			}
			else if(ACTION_BREAK.equals(in.toUpperCase())
					|| ACTION_BREAK.substring(0, 1).equals(in.toUpperCase())){
				status = null;
				System.out.println("退出当前功能。");
				continue;
			}
			else if(ACTION_DELETE.equals(in.toUpperCase())
					|| ACTION_DELETE.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_DELETE.equals(status)){
				//根据id删除学生信息
				System.out.println("请输入要删除的学生编号:");
				in = input.next();
				StudentAction.Delete(Integer.parseInt(in));
				System.out.println("学生信息删除成功!");
			}else if(ACTION_FQUERY.equals(in.toUpperCase())
					|| ACTION_FQUERY.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_FQUERY.equals(status)){
				//根据特定条件查询学生信息
				System.out.println("请选择要查询的字段:\n[name]姓名\n[mobile]手机号");
				name = input.next();
				if("name".equals(name)){
					System.out.println("请输入要查询的姓名:");
					value = input.next();
				}else if("mobile".equals(name)){
					System.out.println("请输入要查询的手机号:");
					value = input.next();
				}
				List<Map<String,Object>> params = new ArrayList<Map<String,Object>>();
				Map<String,Object> map = new HashMap<String,Object>();
				map.put("name", name);
				map.put("rela", "=");
				map.put("value", "'"+value+"'");
				params.add(map);
				List<Student> stulist1 = StudentAction.FuzzyQuery(params);
				for (Student student : stulist1) {
					System.out.println(student.toString());
				}
				if(stulist1.size()==0){
					System.out.println("未查询到相应学生信息!");
				}
				continue;
			}else if(ACTION_GET.equals(in.toUpperCase())
					|| ACTION_GET.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_GET.equals(status)){ 
				//根据id查询学生详细信息
				System.out.println("请输入学生编号:");
				in = input.next();
				stu.setId(Integer.parseInt(in));
				stu1 = StudentAction.QueryById(stu.getId());
				System.out.println(stu1.toString());
				continue;
			}else if (ACTION_UPDATE.equals(in.toUpperCase())
					|| ACTION_UPDATE.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_UPDATE.equals(status)) {
				//更新学生信息
				/*
				 * stu1 = StudentAction.QueryById(stu.getId());
				 * if("null".equals(in)){
						stu.setName(stu1.getName());
					}else{
						stu.setName(in);
					}
				 * 根据输入的id查询学生信息,当输入的值为null时,将该学生原信息赋值。
				 * 达到输入null,不更新字段的效果。
				 */
				status = ACTION_UPDATE;
				if(1==step){
					System.out.println("请输入要更新的学生编号:");
					System.out.println("编号:");
				}else if(2==step){
					stu.setId(Integer.parseInt(in));
					stu1 = StudentAction.QueryById(stu.getId());
					System.out.println("当前id:"+stu.getId()+"-"+stu1.toString());
					System.out.println("姓名(如果不更新该字段,则输入null):");
				}else if(3==step){
					if("null".equals(in)){
						stu.setName(stu1.getName());
					}else{
						stu.setName(in);
					}
					System.out.println("性别:");
				}else if(4==step){
					if("null".equals(in)){
						stu.setSex(stu1.getSex());
					}else{
						stu.setSex(Integer.parseInt(in));
					}
					System.out.println("年龄:");
				}else if(5==step){
					if("null".equals(in)){
						stu.setAge(stu1.getAge());
					}else{
						stu.setAge(Integer.parseInt(in));
					}
					System.out.println("出生日期");
				}else if(6==step){
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
					Date birthday = null;
					try {
						if("null".equals(in)){
							stu.setBirthday(stu1.getBirthday());
						}else{
							birthday = sdf.parse(in);
							stu.setBirthday(birthday);
						}
						System.out.println("手机号:");
					} catch (ParseException e) {
						e.printStackTrace();
						System.out.println("您输入的日期格式有误,请重新输入!");
						step = 5;
					}
				}else if(7==step){
					if("null".equals(in)){
						stu.setMobile(stu1.getMobile());
					}else{
						stu.setMobile(in);
					}
					StudentAction.Update(stu);
					System.out.println("学生信息更新成功。");
					status = null;
				}
				if (ACTION_UPDATE.equals(status)) {
					step++;
				}
			} else if (ACTION_QUERY.equals(in.toUpperCase())
					|| ACTION_QUERY.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_QUERY.equals(status)) {
				// 查询学生信息
				List<Student> stulist = StudentAction.Query();
				for (Student student : stulist) {
					System.out.println(student.getId() + "-姓名:"
							+ student.getName());
				}
				continue;
			} else if (ACTION_ADD.equals(in.toUpperCase())
					|| ACTION_ADD.substring(0, 1).equals(in.toUpperCase())
					|| ACTION_ADD.equals(status)) {
				// 添加学生信息
				status = ACTION_ADD;
				if (1 == step) {
					System.out.println("请输入学生姓名[name]:");
				} else if (2 == step) {
					stu.setName(in);
					System.out.println("请输入学生性别[sex]:");
				} else if (3 == step) {
					stu.setSex(Integer.valueOf(in));
					System.out.println("请输入学生年龄[age]:");
				} else if (4 == step) {
					stu.setAge(Integer.valueOf(in));
					System.out.println("请输入学生生日[birthday-格式yyyy-MM-dd]:");
				} else if (5 == step) {
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
					Date birthday = null;
					try {
						birthday = sdf.parse(in);
						stu.setBirthday(birthday);
						System.out.println("请输入学生手机号码[mobile]:");
					} catch (ParseException e) {
						e.printStackTrace();
						System.out.println("您输入的日期格式有误,请重新输入!");
						step = 4;
					}
				} else if (6 == step) {
					stu.setMobile(in);
					StudentAction.Add(stu);
					System.out.println("学生信息添加成功。");
					status = null;
				}
				if (ACTION_ADD.equals(status)) {
					step++;
				}
			} 
		}
		
	}

}


1 回复 有任何疑惑可以回复我~
#1

糖醋肉3984350

有一个问题,你这个stu1(位于128行)是什么时候声明的。。怎么直接拿出来赋值了呢
2016-11-21 回复 有任何疑惑可以回复我~
#2

lsnFor 回复 糖醋肉3984350

36- private static Student stu1; 私有静态学生对象
2016-11-21 回复 有任何疑惑可以回复我~
#3

糖醋肉3984350 回复 lsnFor

thx~没看清(●ˇ∀ˇ●)
2016-11-21 回复 有任何疑惑可以回复我~
#4

lsnFor 回复 糖醋肉3984350

np(●^∀^●)
2016-11-21 回复 有任何疑惑可以回复我~
查看1条回复
package view;

import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import control.*; 
import model.*;

public class Test {
    
    public static Scanner in = new Scanner(System.in);
    private static Control test = new Control();
    /**
     * 1.循环执行输入exit才退出
     * 2.执行内容
     * 增删改查数据表
     * 3.细节展示
     * @param args
     * @throws SQLException 
     */
    public static void main(String[] args) throws SQLException {
        //外层循环
        System.out.println("***********************************");
        System.out.println("欢迎来到禁区!");
        System.out.println("***********************************");
        System.out.println("【exit】\t退出");
        System.out.println("【query】\t查询女神信息");
        System.out.println("【get】\t查询女神详细信息");
        System.out.println("【add】\t增加女神");
        System.out.println("【delete】\t删除女神");
        System.out.println("【clear】\t删除所有女神信息");
        System.out.println("【edit】\t修改女神信息");

        String select = "null";
        //创建对象
        Test it = new Test();
        
        String[] s = {"query", "get", "add", "delete", "clear", "edit"};
        do {
            System.out.println("***********************************");
            
            if (select.equals(s[0])) {
                it.query();
            } else if (select.equals(s[1])) {
                it.get();
            } else if (select.equals(s[2])) {
                it.add();
            } else if (select.equals(s[3])) {
                it.delete();
            } else if (select.equals(s[4])) {
                it.clear();
            } else if (select.equals(s[5])) {
                it.edit();
            } else {
                
            }
            System.out.println("***********************************");
        } while (!(select = in.next()).equals("exit"));
        System.out.println("退出!");
    }
    
    public void delete() throws SQLException {
        System.out.println("请输入要删除女神的ID:");
        int id = in.nextInt();
        test.delete(id);
        System.out.println("删除成功!");
    }
    
    public void clear() throws SQLException {
        test.deleteAll();
        System.out.println("所有女神信息已清除!");
    }
    
    public void get() throws SQLException {
        System.out.println("请输入要查询女神的编号:");
        int id = in.nextInt();
        Goddess g = test.getQuery(id);
        System.out.println("ID:" + g.getId() +
                "\nName:" + g.getName() +
                "\nAge:" + g.getAge() + 
                "\nPhone:" + g.getPhone());
    }
    
    public void query() throws SQLException {
        List<Goddess> gList = test.getQuery();
        for (Goddess goddess : gList) {
            System.out.println("ID:" + goddess.getId() +
                        "\tName:" + goddess.getName() );
        }
    }
    
    public void add() throws SQLException {
        System.out.println("请输入要添加女神基本信息[ID][Name][Age][Phonenumber]:");
        int id = in.nextInt();
        String name = in.next();
        int age = in.nextInt();
        String number = in.next();

        Goddess g = new Goddess(id, age, name, number);
        test.add(g);

    }
    
    public void edit() throws SQLException {
        System.out.println("请输入要修改女神的基本信息[ID][Name][Age][Phonenumber]:");
        int id = in.nextInt();
        String name = in.next();
        int age = in.nextInt();
        String number = in.next();
        Goddess g = new Goddess(id, age, name, number);
        
        test.undates(id, g);
        System.out.println("修改成功!");
    }
}


7 回复 有任何疑惑可以回复我~
#1

Raven1

代码模块化后更清晰了,本来看完就想到可以这么做,没想到有人先实现了 不过还有bug,万一人家选择了其中一个功能,又中途想放弃当前操作,跳到另一个操作呢?
2016-08-11 回复 有任何疑惑可以回复我~
#2

染红_街道

回复 Rave这没办法,如果真要实现的话可以在每次输入信息前都加个判断(是否退出当前操作,字符串形式匹配),不过太麻烦了。如果是网页或者手机应用就简单了,他每次提交数据都是通过按钮做到的,如果编辑一半可以直接关闭页面。所以你思考那个有点多余,毕竟控制台作用有限
2016-08-11 回复 有任何疑惑可以回复我~

package com.imooc.view;


import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Scanner;

/**

 * 测试界面

 */


import com.imooc.action.GoddessAction;

import com.imooc.model.Goddess;


public class GoddessView {

private static final String CONTEXT="欢迎来到女神禁区:\n"+

"下面是女神禁区的功能列表\n"

+"[MAIN/M]:主菜单\n"

+"[QUERY/Q]:查询全部女神的信息\n"

+"[GET/G]:查询某位女神的详细信息\n"

+"[ADD/A]:添加女神信息\n"

+"[UPDATE/U]:更新女神信息\n"

+"[DELETE/D]:删除女神信息\n"

+"[SEARCH/S]:查询女神信息\n"

+"[EXIT/E]:退出女神禁区\n"

+"[BREAK/B]:退出当前功能,返回主菜单\n";

private static final String OPERATION_MAIN="MAIN";

private static final String OPERATION_QUERY="QUERY";

private static final String OPERATION_GET="GET";

private static final String OPERATION_ADD="ADD";

private static final String OPERATION_UPDATE="UPDATE";

    private static final String OPERATION_DELETE="DELETE";

    private static final String OPERATION_SEARCH="SEARCH";

    private static final String OPERATION_EXIT="EXIT";

    private static final String OPERATION_BREAK="BREAK";

public static void main(String[] args) throws Exception {

System.out.println(CONTEXT);

Scanner s=new Scanner(System.in);

Goddess goddess=new Goddess();

GoddessAction action=new GoddessAction();

String prenious=null;

Integer step=1;

   while(s.hasNext()){

    String in=s.next().toString();

    if(OPERATION_EXIT.equals(in.toUpperCase())//退出功能

    ||OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())){

    System.out.println("您已成功退出女神禁区,欢迎下次光临!");

    break;

    }else if(OPERATION_BREAK.equals(in.toUpperCase())//退出当前功能返回主菜单

    ||OPERATION_BREAK.substring(0, 1).equals(in.toUpperCase())){

    System.out.println(CONTEXT);

    continue;

    }else if(OPERATION_MAIN.equals(in.toUpperCase())//返回主菜单

    ||OPERATION_MAIN.substring(0, 1).equals(in.toUpperCase())){

    System.out.println(CONTEXT);

    continue;

    }else if(OPERATION_QUERY.equals(in.toUpperCase())//查询全部女神信息功能

    ||OPERATION_QUERY.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_QUERY.equals(prenious)){

    prenious=OPERATION_QUERY;

    List<Goddess> list=action.queryAllGoddess();

    for(Goddess goddessList:list){

    System.out.println(goddessList.toString());

    }

    }else if(OPERATION_GET.equals(in.toUpperCase())//根据ID查询女神的功能

    ||OPERATION_GET.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_GET.equals(prenious)){

    prenious=OPERATION_GET;

    if(1==step){

    System.out.println("请输入女神的ID:");    

    }else if(2==step){

    Goddess goddess01=action.queryById(Integer.valueOf(in));    

    System.out.println(goddess01.toString());

    }

    step++;

   

   }else if(OPERATION_UPDATE.equals(in.toUpperCase())//更新女神信息功能

    ||OPERATION_UPDATE.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_UPDATE.equals(prenious)){

    prenious=OPERATION_UPDATE;

    if(1==step){

    System.out.println("请输入要更新女神的ID:");

    }else if(2==step){

    goddess.setId(Integer.valueOf(in));

    System.out.println("请输入更新后女神的[年龄]:");

    }else if(3==step){

    goddess.setAge(Integer.valueOf(in));

    System.out.println("请输入更新后女神的[生日]:(格式如:yyyy-MM-dd)");

    }else if(4==step){

    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");

    Date birthday=format.parse(in);

    goddess.setBirthday(birthday);

    System.out.println("请输入更新后女神的[邮箱]:");

    }else if(5==step){

    goddess.setEmail(in);

    System.out.println("请输入更新后女神的[电话]:");

    }else if(6==step){

    goddess.setMobile(in);

    System.out.println("请输入更新后女神的[姓名]:");

    }else if(7==step){

    goddess.setUser_name(in);

    action.edit(goddess);

    System.out.println("信息更新成功");

    }

    step++;

   

   }else if(OPERATION_DELETE.equals(in.toUpperCase())//删除女神信息功能

    ||OPERATION_DELETE.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_DELETE.equals(prenious)){

    prenious=OPERATION_DELETE;

    if(1==step){

    System.out.println("请输入要删除女神的ID:");

    }else if(2==step){

    action.del(Integer.valueOf(in));

    System.out.println("信息删除成功!");

    }

    step++;

   }else if(OPERATION_SEARCH.equals(in.toUpperCase())//根据参数查询女神信息功能

    ||OPERATION_SEARCH.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_SEARCH.equals(prenious)){

    prenious=OPERATION_SEARCH;

    List<Map<String,Object>> params=new ArrayList<Map<String,Object>>();

    Map<String,Object> map=new HashMap<String,Object>();

    if(1==step){

    System.out.println("输入要查询的参数:");

    map.put("name", in);    

    }else if(2==step){

    System.out.println("输入查询规则:");

    map.put("rela", in);

    }else if(3==step){

    System.out.println("输入要查询的参数名:");

    map.put("value", in);

    }else if(4==step){

    params.add(map);

    List<Goddess> list=action.queryByParams(params);

    for(Goddess g:list){

    System.out.println(g.toString());

    }

    }

    step++;

   }else if(OPERATION_ADD.equals(in.toUpperCase())//添加女神信息功能

    ||OPERATION_ADD.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_ADD.equals(prenious)){

    prenious=OPERATION_ADD;

    if(1==step){

    System.out.println("请输入女神的[姓名]:");

    }else if(2==step){

    goddess.setUser_name(in);

    System.out.println("请输入女神的[年龄]:");

    }else if(3==step){

    goddess.setAge(Integer.valueOf(in));

    System.out.println("请输入女神的[生日]:(格式如:yyyy-MM-dd)");

    }else if(4==step){

    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");

    Date birthday=format.parse(in);

    goddess.setBirthday(birthday);

    System.out.println("请输入女神的[邮箱]:");

    }else if(5==step){

    goddess.setEmail(in);

    System.out.println("请输入女神的[电话]:");

    }else if(6==step){

    goddess.setMobile(in);

    action.add(goddess);

    }

    step++;

    }else{

    System.out.println("你输入的值为:"+in);

    }

   }

   s.close();

   

}


}


0 回复 有任何疑惑可以回复我~

我自己做完了视图层的全部功能,你要的话,可以留下邮箱,这里上传不了文件

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁有视图层完整的代码啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信