Liczenie znaków

0

Mam taki oto kod:

 import java.lang.Object.*;

class zad2 {

	public static void main(String[] args) {
	
	String napis = args.toString();
	
	if(args.length > 0)
	{
	boolean[] tab = new boolean[napis.length()];
	
	for(int i = 0; i < napis.length(); i++)
	{
		if(tab[i] != true)
		{
		int licznik = 0;
		
		for(int j = 0; j < napis.length(); j++)
		
		if(napis.charAt(i) == napis.charAt(j))
		{
		licznik++;
		tab[i] = tab[j] = true;
		}
		System.out.println("Znak " + "" + napis.charAt(i) + "" + " wystepuje " + licznik + " razy");
		}
	}
	}
	else
	System.out.println("Brak argumentow");
	
	}
}


i potrzebuje liczyć te znaki jako argumenty wywołania programu i za bardzo nie wiem jak to osiągnąć. Jak dam normalnie

String napis = "cos tam";

to działa bez zarzutu. Dodam, że dopiero zaczynam przygodę z Java

0

Funkcja length zwraca Ci ilość znaków.

Nie wiem, czy dobrze zrozumiałem, chcesz użyć tego wykorzystując parametry?

String napis = args[0];
0

String str = Arrays.toString(arr);

or, for more control (before Java 8):

StringBuilder builder = new StringBuilder();
for(String s : arr) {
builder.append(s);
}
String str = builder.toString();

(Java 8 and above):

String str = String.join(",", arr);

tak jak podano w:
https://stackoverflow.com/questions/5283444/convert-array-of-strings-into-a-string-in-java

zobacz sobie co w konsoli dostaniesz jak zrobisz System.out.println(args.toString());

0

Dzięki wielkie :)

0

Może coś podobnego do:

import java.util.HashMap;
import java.util.Map;

public class Runner {

    public static void main(String[] args) {
        if (args.length > 0) {
            String text = args[0];
            Map<Character, Integer> counter = new HashMap<>();

            text.chars()
                    .mapToObj(c -> (char) c)
                    .forEach(c -> {
                        Integer count = counter.getOrDefault(c, 0);
                        counter.put(c, ++count);
                    });

            counter.forEach((key, value) -> System.out.printf("Znak %s występuje %d razy\n", key, value));
        } else
            System.out.println("Brak argumentow");
    }

}

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