NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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.

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.