简体   繁体   English

Java中的字符串标记器

[英]String Tokenizer in java

I am in trouble to solve problem in java. 我在解决java中的问题时遇到了麻烦。 My input is : "Spring 2014" / "Summer 2012" / "Fall 2011" Output will be: 我的输入是: "Spring 2014" / "Summer 2012" / "Fall 2011"输出将是:

"141" for "Spring 2014" "122" for "Summer 2012" "113" for "Fall 2011" "141"代表"Spring 2014" "122"代表"Summer 2012" "113"代表"Fall 2011"

That means last two digits of year and semester number will concatenated ( Spring =1 , Summer = 2 , Fall = 3 ) 这意味着将连接年份和学期号的最后两位数字(春季= 1,夏季= 2,秋季= 3)

import java.util.Scanner; 导入java.util.Scanner;

public class Token { 公共类令牌{

static String[] r;
private static Scanner input;


public static void main(String[] args) {
    // TODO Auto-generated method stub
     String token;

     String sem1 = null,sem2 = null;
     input = new Scanner(System.in);
     System.out.println("Enter an Word");
     token = input.nextLine();
     r = token.split("\\ ");

     for(int i=0;i<r.length;i++){

         System.out.print("\nSplit value is"+r[i]);

         if(r[i].equals("Spring")){
             sem1="1";
         }
         else if(r[i].equals("Summer")){
             sem1="2";
         }else if(r[i].equals("Fall")){
             sem1="3";
         }else{
             sem2=r[i].substring(2,4);
         }

     }

     System.out.print("\nSemester no "+sem1);
     System.out.print("\nYear is :"+sem2);
     String semester_id=sem2+sem1;
     System.out.print("\nFinal Semester id is:"+semester_id);



}

} }

Thanks all ... I have solved this :) 谢谢大家...我解决了这个问题:)

Output: Enter an Word Fall 2011 输出:输入字词2011年秋季

Split value isFall 分割值为isFall

Split value is2011 分割值为is2011

Semester no 3 第三学期

Year is :11 年份是:11

Final Semester id is:113 最终学期ID是:113

Enter an Word 输入一个词

Spring 2014 2014年春季

Split value isSpring 拆分值为isSpring

Split value is2014 分割值为2014

Semester no 1 第一学期

Year is :14 年份是:14

Final Semester id is:141 最终学期ID是:141

Try this dont copy and paste, 尝试不要复制和粘贴,

        String input = "\"Spring 2014\" / \"Summer 2012\" / \"Fall 2011\"";
        String[] splittedValues = input.split("/");

        StringBuilder stringBuilder = new StringBuilder();

        for(String value : splittedValues)
        {
            String temp = value.replaceAll("[\"\"]", "").trim();
            temp = temp.substring(temp.length() - 2, temp.length());
            stringBuilder.append("\"");
            if(value.contains("Spring"))
            {
                stringBuilder.append(temp).append("1\"");
            }
            else if(value.contains("Summer"))
            {
                stringBuilder.append(temp).append("2\"");
            }
            else
            {
                stringBuilder.append(temp).append("3\"");
            }

            stringBuilder.append(" for ").append(value);


        }
        System.out.println("stringBuilder : "+stringBuilder.toString());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM