NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Procházení stringu po charech

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
bbbrazda
Člen
Avatar
bbbrazda:31.1.2014 22:23
package příklady;
import java.util.Scanner;
public class Příklady {
        public static void main(String[] args) {
                String strvysledek;
                Scanner sc= new Scanner(System.in, "Windows-1250");
                String ii= sc.nextLine();
                int pocetOP=Integer.parseInt(ii);
                String vstup[] = new String[pocetOP+1];
                String TempkVypisu[]=new String[pocetOP];
                for (int i = 0; i < pocetOP; i++) {
                        vstup[i]=sc.nextLine();
                }
                for ( int i=0; i <= pocetOP; i++) {
                        vstup[i] = vstup[i].substring(4, 8);
                        int cislo = Integer.parseInt(vstup[i]);
                        String riman[] = { "M", "XM", "CM", "D", "XD", "CD", "C", "XC",
                                        "L", "XL", "X", "IX", "V", "IV", "I" };
                        int arab[] = { 1000, 990, 900, 500, 490, 400, 100, 90, 50, 40, 10,
                                        9, 5, 4, 1 };
                        String vysledek="";
                        while (cislo > 0) {
                                for (int j = 0; j < arab.length; j++) {
                                        if ((cislo - arab[j]) >= 0) {
                                                cislo =cislo-arab[j];
                                                vysledek=vysledek+(riman[j]);
                                                break;
                                        }
                                }
                        }
                        TempkVypisu[i]=vysledek;
                        //počet jednotlivých znaků
                        int M=0,C=0,D=0,L=0,X=0,V=0,I=0;
                        String m= "M",c="C",l="L",x="X",v="V",t="I",d="D";
                        for (int j = 0; j < pocetOP; j++) {
                                strvysledek=TempkVypisu[j];

                                for (char k : strvysledek.toCharArray())
                                {if (c.contains(String.valueOf(k)))
                                        C++;
                                else if (d.contains(String.valueOf(k)))
                                        D++;
                                else if (l.contains(String.valueOf(k)))
                                        L++;
                                else if (x.contains(String.valueOf(k)))
                                        X++;
                                else if (v.contains(String.valueOf(k)))
                                        V++;
                                else if (t.contains(String.valueOf(k)))
                                        I++;
                                else if (m.contains(String.valueOf(k)))
                                        M++;
                                }
                        }
                        System.out.printf("%d%d%d%d%d%d%d", I, V, X, L, C, D, M);
                        }
                }
        }

mohl bys mi poradit, proč mi v tomto případě nefunguje procházení stringu po charech?

Editováno 31.1.2014 22:25
 
Odpovědět
31.1.2014 22:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.