Analiza wyrazow metoda split()

0

Hej, chcę napisać program który dowolny tekst odczytany z konsoli podzieli na poszczególne wyrazy, każdy z nich wyświetlając w odrębnej linii.

Jak na razie mam taki oto kod program,

import java.io.*;
import java.util.Scanner;

public class BreakString {
	public static void main(String args[]) {

		Scanner load = new Scanner(System.in);

		String word = load.next();
		String[] parts = word.split("");

		for (int i = 0; i < parts.length; i++)
			System.out.println(parts[i]);
	}
}

myślę w

String[] parts = word.split(""); 

zmienić coś w ale nie wiem za bardzo co

1

Może splitować po spacji tak jak chcesz? o_O word.split(" "); A ze scannera chyba nextLine chciałeś brać?

0

No w sumie. Dziękuję

3

Jeśli tylko spacje rozdzielają słowa, to

        Scanner load = new Scanner(System.in);
 
        String word = load.nextLine();
        String[] parts = word.split(" +");

Jeśli również tab, to

        Scanner load = new Scanner(System.in);
 
        String word = load.nextLine();
        String[] parts = word.split("\\s+");
0

Jeśli mogę coś zaproponować to:

import java.lang.*;
import java.util.Scanner;
	public class AnalizaWyrazow {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("Podaj zdanie do analizy:\n");
	    
	    String wyraz = sc.nextLine();
	    String znakPodzialu = " +";    //jeśli wyrazy oddziela tylko spacja to " +" 
	    
	    String[] podzieloneZdanie = wyraz.split(znakPodzialu); //tablica z podzielonym zdaniem jej elementami są oddzielne wyrazy
	    for (String zmiennaTablicy: podzieloneZdanie){   // for (zmienna(dowolna bo to deklaracja):kolekcja(odwołanie do naszej tablicy w  której przetrzymujemy podzelone zdanie) i instrukcja druku
	   
	    System.out.println("Wyraz w zdaniu to: " + zmiennaTablicy);
	    }
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1