zoukankan      html  css  js  c++  java
  • 数据库中的化学式 上下标网页格式化输出JAVA小程序[非JSP]

    import java.util.*;
    public class SubAndSup
    {
        public static String setString(String s)
          {
            StringBuffer str=new StringBuffer(s);

            StringBuffer strSup1=new StringBuffer("<sup>");
            StringBuffer strSup2=new StringBuffer("</sup>");
            StringBuffer strSub1=new StringBuffer("<sub>");
            StringBuffer strSub2=new StringBuffer("</sub>");

    /*---------------------------第一部分-------------------------------------*/
            int length1=str.length();
            for(int i=0;i<length1;i++) //插入<sub>
               {
                 if(Character.isLetter(str.charAt(i)) & Character.isDigit(str.charAt(i+1)))
                   {
                     str.insert(i+1,strSub1);
                     str.insert(i+7,strSub2);
                   }
                 length1=str.length()-1;
               }

    /*-----------------------------第二部分-----------------------------------*/       
            int length2=str.length();
            for(int i=0;i<length2;i++) //插入<sup>
               {
                 if((Character.isDigit(str.charAt(i)) & str.charAt(i+1)=='+') || (Character.isDigit(str.charAt(i)) & str.charAt(i+1)=='-'))
                    {
                       str.insert(i,strSup1);
                       str.insert(i+6,strSup2);
                    }
                 length2=str.length()-1;
               }

    /*------------------------------第三部分---------------------------------*/
            int length3=str.length();
            for(int i=0;i<length3;i++)
               {
                int number1=str.lastIndexOf("</sup>+");
                if(number1<0 || number1>length3)
                   {
                    break;
                   }
                else
                   {
                     str.replace(number1,number1+7,"+</sup>");
                   }
               }
            for(int i=0;i<length3;i++)
               {
                 int number2=str.lastIndexOf("</sup>-");
                 if(number2<0 || number2>length3)
                   {
                     break;
                   }
                 else
                   {
                     str.replace(number2,number2+7,"-</sup>");
                   }
               }  
            String strString=str.toString();
            return strString;
          }
    }


    /*--------------------
    public class Example009
    {
        public static void main(String args[])
          {
            SubAndSup as=new SubAndSup();
            String ss1="H2O";
            String ss2=as.setString(ss1);
            System.out.print(ss2);
          }
    }

    打印输出:H<sub>2</sub>O

  • 相关阅读:
    [51nod1247]可能的路径(思维题)
    天梯赛L1020 帅到没朋友(map的使用)(模拟,数组非排序去重)
    洛谷 p1030 树的遍历
    天梯赛L1046 整除光棍(模拟)
    牛客,并查集,简单dp经商
    天梯赛L1043 阅览室 模拟题
    天梯赛L1049(模拟+vector的使用)
    天梯赛L1011,简单模拟
    codeforces 1201 c
    天梯赛L2003月饼(简单排序题)
  • 原文地址:https://www.cnblogs.com/liulu/p/1376176.html
Copyright © 2011-2022 走看看