Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的字符串标记器_Java_Stringtokenizer - Fatal编程技术网

java中的字符串标记器

java中的字符串标记器,java,stringtokenizer,Java,Stringtokenizer,我在用java解决这个问题时遇到了麻烦。 我的输入是:“2014年春季”/“2012年夏季”/“2011年秋季” 输出将是: “141”“2014年春季” “122”“2012年夏季” “113”“2011年秋季” 这意味着年数和学期数的最后两位数字将连接在一起(春季=1,夏季=2,秋季=3)试试这个,不要复制和粘贴 String input = "\"Spring 2014\" / \"Summer 2012\" / \"Fall 2011\""; String

我在用java解决这个问题时遇到了麻烦。 我的输入是:
“2014年春季”/“2012年夏季”/“2011年秋季”
输出将是:

“141”
“2014年春季”
“122”
“2012年夏季”
“113”
“2011年秋季”


这意味着年数和学期数的最后两位数字将连接在一起(春季=1,夏季=2,秋季=3)

试试这个,不要复制和粘贴

        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());

导入java.util.Scanner

公共类令牌{

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);



}
静态字符串[]r;
专用静态扫描仪输入;
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
字符串标记;
字符串sem1=null,sem2=null;
输入=新扫描仪(System.in);
System.out.println(“输入单词”);
token=input.nextLine();
r=标记。拆分(\\”;

对于(int i=0;i)您正在努力解决的部分是什么?您能给我们看一些代码吗?到目前为止您尝试了什么?它是如何工作的?您的示例不符合定义:2011年秋季应该是“113”@ashikha,是的…对于错误“我在java中解决问题遇到了麻烦”。您遇到了什么问题?