-1

je veux diviser une entrée multiple ligne en utilisant la fonction de partage alors que je l'ai essayé, il ne fonctionnait pascomment diviser plusieurs entrées de ligne à l'aide fonction split java

public static void main(String [] args) 
{ 
    String TER = ","; 
    int i=0; 
    java.util.Scanner a = new java.util.Scanner(System.in); 
    StringBuilder b = new StringBuilder(); 
    String str; 
    while (!(str = a.nextLine()).equals(TER)) { 
     b.append(str);//here i am getting the multiple line input 
    }   
    String parts[] = str.split("\\ "); 
    while(i<parts.length) 
    { 
     System.out.println(parts[i]); 
     i++; 
    } 
} 

} 

entrée int adgd ,

sortie

,

mais la sortie requise est int un d g d

Répondre

0

Vous vous partagez sur rue au lieu de b.toString()

public class LoopTest { 
    public static void main(String [] args) { 
     String TER = ","; 
     int i=0; 
     java.util.Scanner a = new java.util.Scanner(System.in); 
     StringBuilder b = new StringBuilder(); 
     String str; 
     System.out.println("Enter a multiple line input"); //opens console window 
     while (!(str = a.nextLine()).equals(TER)) { 
      b.append(str);//here i am getting the multiple line input 
     } 
     System.out.println(b.toString()); 
     String parts[] = b.toString().split("\\ "); 
     while(i<parts.length) { 
      System.out.println(parts[i]); 
      i++; 
     } 
    } 
} 
+0

Il y a une petite erreur dans le code dans cette réponse. Lorsque ce code est exécuté, la fenêtre de la console ne s'ouvre pas car il n'y a pas d'instruction d'impression avant le bloc d'entrée. Pour le résoudre, vous devez ajouter une instruction d'impression avant la ligne 8. Par exemple: 'System.out.println (" Entrez une entrée de ligne multiple terminée par ',' ");' –

+0

Comment exécutez-vous le code? Cela fonctionne bien quand je l'ai testé comme ça. J'ai créé le fichier appelé LoopTest.java, puis à la ligne de commande, je lance javac LoopTest.java, puis java LoopTest. – flareback