Maison  >  Article  >  Java  >  Introduction à la méthode d'épissage de chaînes en Java

Introduction à la méthode d'épissage de chaînes en Java

黄舟
黄舟original
2017-09-02 11:09:211783parcourir

Cet article présente principalement les informations pertinentes sur les exemples d'implémentation de l'épissage de chaînes Java. J'espère que grâce à cet article, tout le monde pourra maîtriser l'implémentation de l'épissage de caractères. Les amis dans le besoin pourront se référer à

. java string Exemples d'implémentation d'épissage

Dans le travail de développement réel, le traitement des chaînes est la tâche de programmation la plus courante. Cette question nécessite que le programme traite la chaîne saisie par l'utilisateur. Les règles spécifiques sont les suivantes :

1. Changez la première lettre de chaque mot en majuscule.
2. Séparez les chiffres et les lettres avec des caractères soulignés (_) pour les rendre plus clairs
3. Ajustez plusieurs espaces au milieu des mots en un seul espace.

Par exemple :

Saisie utilisateur :

you and     me what  cpp2005program

puis la sortie du programme :

You And Me What Cpp_2005_program

Entrée utilisateur :

this is     a      99cat

Ensuite, la sortie du programme :

This Is A 99_cat

Nous supposons qu'il n'y a que des lettres minuscules dans la chaîne saisie par l'utilisateur, espaces et chiffres, pas d'autres lettres ou symboles. Chaque mot est séparé par 1 ou plusieurs espaces.
Supposons que la longueur de la chaîne saisie par l'utilisateur ne dépasse pas 200 caractères.

Exiger que les candidats écrivent toutes les catégories dans un seul fichier. Après débogage, il suffit de l'enregistrer dans le "answer.txt" correspondant au numéro de question dans le dossier du candidat. Ne copiez pas les fichiers de projet pertinents. Veuillez ne pas utiliser d'instructions de package.

De plus, seules la syntaxe ou les appels autorisés dans JDK1.5 peuvent apparaître dans le programme source. Impossible d'utiliser la version 1.6 ou supérieure.

Exemple de mise en œuvre :


 import java.util.ArrayList; 
import java.util.Scanner; 
 
//you and   me what cpp2005program 
//则程序输出: 
//You And Me What Cpp_2005_program 
 
public class Main { 
  public static void main(String[] args){ 
    String x = new Scanner(System.in).nextLine(); 
    combineStr(x); 
  } 
 
  public static void combineStr(String x){ 
     
    //获取处理后的数据集合 
    ArrayList<String> list = repair(x); 
 
    //用于判断数字的字符串 
    String intStr = "0123456789"; 
 
    //获取每个字符串进行字符的拼接转换 
    String result = ""; 
    for(int i=0;i<list.size();i++){ 
      //取出一个字符 
      String temp = list.get(i); 
       
      //初始化结果值 
      result = temp; 
     
      //进行数字与字母的判断 
      for(int k=0;k<temp.length()-1;k++){ 
         
        if(intStr.indexOf(temp.charAt(k))!=-1 && intStr.indexOf(temp.charAt(k+1))==-1){   // 此时判断条件为数字 
          // 8a  返回替换后的字符,原字符不变 
          result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); 
       
        }else if(intStr.indexOf(temp.charAt(k))==-1 && intStr.indexOf(temp.charAt(k+1))!=-1){  //字母数字 
           
          result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); 
   
        } 
      } 
      System.out.print(result+" "); 
    } 
  } 
 
  //获取用户输入的,去掉重复的空白符 
  public static ArrayList<String> repair(String x){ 
     
    //保存首字符转为大写后的单词 
    ArrayList<String> list = new ArrayList<String>(); 
     
    //用于判断数字的字符串 
    String intStr = "0123456789"; 
 
    String[] arr = x.split(" "); 
 
    for(int i=0;i<arr.length;i++){ 
      if(!arr[i].equals("")){ 
        //对每一个字符进行判断 
        if( intStr.indexOf(arr[i].charAt(0))==-1){  // 对应的字符为字母而不是数字,==-1表示没有找到数字,则为字母 
          String newString = (arr[i].charAt(0)+"").toUpperCase()+arr[i].substring(1); 
          list.add(newString); 
        }else{ 
          list.add(arr[i]); 
        } 
      } 
    } 
    return list; 
  } 
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn