Anonymní profil Ondra – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Ondra – Programujte.comAnonymní profil Ondra – Programujte.com

 

Příspěvky odeslané z IP adresy 2a00:1028:96d2:3baa:749a:...–

Ondra
Java › kontrola správnosti DIC
13. 1. 2017   #214487

Ahoj, potřeboval bych pomoct, mám zadání úlohy na kontrolu DIC s následujícími podmínkami. 1) první dva znaky stringu musí být rovna "CZ" nebo "cz" 2) prvních devět čísel stringu se má vydělit 11ti 3) pokud je zbytek roven 10, poslední číslo ve stringu musí bý nula, pokud zbytek není deset, poslední číslo se musí rovnat tomu zbytku. Celé DIČ obsahuje vždy 12 znaků. Napadlo mě to naprogramovat takto: 

public static void checkDIC(String s){
        boolean cz = false;
        boolean posledninula = false;
        boolean poslednicislo = false;
        String zkratka = s.substring(0,2);
        String cislo = s.substring(2,11);
        String nula = s.substring(11);
        if(zkratka == "CZ" || zkratka == "cz"){
            cz = true;
        }
        int zbytek = Integer.parseInt(s.substring(2,11)) % 11;
        if(zbytek == 10 && nula == "0"){
            posledninula = true;
        }else{
            if(nula == Integer.toString(zbytek)){
                poslednicislo = true;
            }
        }
        if((cz == true && posledninula == true) || (cz == true && poslednicislo == true)){
            System.out.println("DIČ je platné");
        }else{
            System.out.println("DIČ je neplatné");
        }
    }

Problém je ten, že se mi boolean hodnoty nikdy nezmění na true a ať zadám jakékoli hodnoty, vždycky se mi vrátí zpět false u všech booleanů, tudíž, že je DIČ neplatné. Nemohl by mi někdo poradit, jak to zprovoznit? Mě nenapadá jiný způsob než tenhle. Platné DIČ je například CZ7801233540. 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý