zoukankan      html  css  js  c++  java
  • 第一次编程作业

    package com.huateng.cpes.unit;

    import java.math.BigDecimal;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.Scanner;

    import org.apache.axis2.databinding.types.xsd.Integer;
    import org.apache.commons.validator.Form;

    import com.huateng.billSys.util.DateUtil;
    import com.huateng.cpes.DateUtils;
    import com.huateng.ebank.business.management.service.SopService;
    import com.huateng.ebank.entity.data.mng.ResellDetails;
    import com.lenovo.ebank.pub.SopIntf;

    import batchUitls.BatchUtils;
    import batchUitls.IdentityBatch;
    import batchUitls.InsertHelper;
    import batchUtils.exception.BatchException;

    public class Test2 {

    /**
     * @param args
     */
    
    public static void main(String[] args) {
    	String zhengShu ="整数";
    	String zengJia = "增加";
    	String jianShao = "减少";
    	String kanKan = "看看";
    	String dengYu = "等于";
    	String[] bianLiang = new String[10] ;//可能存在多个变量定义 所以用数组
    	String[] zhi = new String[10] ;//可能存在多个变量定义 所以用数组
    	StringBuilder stringbuilder = new StringBuilder();
        System.out.println("注意:另起一行后‘空格+回车’结束 (数字只会出现:零一二三四五六七八九十 )
     请输入中文代码:");
        Scanner scanner = new Scanner(System.in);
        while(true)
        {
            String text = scanner.nextLine().trim();
            if ("".equals(text))//判断空格退出
            {
                break;
            }
            stringbuilder.append("|"+text);//增加分隔符
        }
        String[] split = stringbuilder.toString().split("\|");
        for( int i=1 ; i < split.length ; i++) {
        	String str = split[i];
            String[] splits = str.split(" ");
            if(zhengShu.equals(splits[0])&&dengYu.equals(splits[2])) {//判断
            	bianLiang[i-1] = splits[1];
            	zhi[i-1] = splits[3];
            }
            if(kanKan.equals(splits[0])&&splits.length == 2) {
            	for(int j=0 ; j < bianLiang.length ; j++) {
            		if(bianLiang[j].equals(splits[1])) {
            			System.out.println(zhi[j]);
            			break;
            		}
            	}
            }
            if(zengJia.equals(splits[1])||jianShao.equals(splits[1])) {
            	for(int n = 0 ; n < bianLiang.length ; n++ ) {
            		if(bianLiang[n].equals(splits[0])) {
                    	int value = getInt(splits[2].toString());
                    	int valueZhi = getInt(zhi[n]);
                    	if(zengJia.equals(splits[1])) {
                    		valueZhi = valueZhi + value;
                    	}else {
                    		valueZhi = valueZhi - value;
                    	}
                    	zhi[n] = getStr(valueZhi);
                    	break;
            		}
            	}
            }
        }
    }
    
    public static int getInt(String zhi) {
    	int value = 0;
    	switch (zhi) {
    	case "零":
    		value = 0;
    		break;
    	case "一":
    		value = 1;
    		break;
    	case "二":
    		value = 2;
    		break;
    	case "三":
    		value = 3;
    		break;
    	case "四":
    		value = 4;
    		break;
    	case "五":
    		value = 5;
    		break;
    	case "六":
    		value = 6;
    		break;
    	case "七":
    		value = 7;
    		break;
    	case "八":
    		value = 8;
    		break;
    	case "九":
    		value = 9;
    		break;
    	case "十":
    		value = 10;
    		break;
    	default:
    		System.out.println("值过大!");
    		break;
    	}
    	return value;
    }
    
    public static String getStr(int zhi) {
    	String value = "";
    	switch (zhi) {
    	case 0:
    		value = "零";
    		break;
    	case 1:
    		value = "一";
    		break;
    	case 2:
    		value = "二";
    		break;
    	case 3:
    		value = "三";
    		break;
    	case 4:
    		value = "四";
    		break;
    	case 5:
    		value = "五";
    		break;
    	case 6:
    		value = "六";
    		break;
    	case 7:
    		value = "七";
    		break;
    	case 8:
    		value = "八";
    		break;
    	case 9:
    		value = "九";
    		break;
    	case 10:
    		value = "十";
    		break;
    	default:
    		value = "值过大!";
    		break;
    	}
    	return value;
    }
    

    }

    1.思路一_输入: 需要先实现控制台多行输入 正常Scanner识别回车结束,增加死循环并判断特殊字符退出 可实现多行录入。
    2.思路二_字符串处理: 获取到一整个字符串,需要区分中文命令的整体性,简单的设计成每行为一个完整命令 用特殊符号分割,并用split获取。拿到每个命令后都是单独的字符串 每个命令之间用空格分割 再次用split分割成一个命令的几部分 ,这样一整个大字符串就分割成了单独的一个个命令变量等等,用String[]保存
    3.思路三_命令判断: 因为是多行命令,一次执行需要多次判断 ,所以需要外层一个循环来多次判断并执行中文命令
    4.思路四_模块划分:模块一 输入
    模块二 字符串处理
    模块三 命令的判断以及执行
    模块四 零-十和0-10的转换
    5.思路五_核心: 整个程序的核心是String[]的运用,正确定义好对应的String[],利用多个String[] 讲变量和变量对应的值分别赋值,并用同一个n来代表。比如变量bianliang[1]的值就是zhi[1], 变量bianliang[n]的值就是zhi[n],在赋值的时候定义好后期的处理就很简单了

  • 相关阅读:
    监控Redis集群
    host主机监控规则
    Prometheus自身的监控告警规则
    Prometheus alerts 各种告警规则
    Elasticsearch官方文档离线访问实操指南
    Ceph 存储集群
    采用阿里云 yum的方式安装ceph
    设置HTTP请求自动跳转HTTPS
    jumpserver 2222端口的使用
    安装jumpserver 2.1.2版本遇到的坑
  • 原文地址:https://www.cnblogs.com/ddssddss/p/12286953.html
Copyright © 2011-2022 走看看