daily pastebin goal
17%
SHARE
TWEET

Untitled

a guest May 16th, 2018 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package cisla;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Cisla {
  6.  
  7.     public static Scanner sc = new Scanner(System.in);
  8.  
  9.     public static String pisTriCislice(int tricisla, int rang) {
  10.         String vychod = "";
  11.         String[] jednicky = {"", "jedna ", "dve ", "tri ", "ctyri ", "pet ", "sest ", "sedm ", "osm ", "devet ", "deset ", "jedenact ", "dvanact ", "trinact ", "ctyrnact ", "patnact ", "sestnact ", "sedmnact ", "osmnact ", "devatenact "};
  12.         String[] jednicky2 = {"", "jeden ", "dva ", "tri ", "ctyri ", "pet ", "sest ", "sedm ", "osm ", "devet ", "deset ", "jedenact ", "dvanact ", "trinact ", "ctyrnact ", "patnact ", "sestnact ", "sedmnact ", "osmnact ", "devatenact "};
  13.         String[] desitky = {"", "", "dvacet ", "tricet ", "ctyricet ", "padesat ", "sedesat ", "sedmdesat ", "osmdesat ", "devadesat "};
  14.         String[] stovky = {"", "sto ", "dve ste ", "tri sta ", "ctyri sta ", "pet set ", "sest set ", "sedm set ", "osm set ", "devet set "};
  15.         String[][] neco = {{"", "", ""},
  16.             {"tisic ", "tisice ", "tisic "},
  17.             {"milion ", "miliony ", "milionu "},
  18.             {"miliarda ", "miliardy ", "miliard "},
  19.             {"trilion ", "triliony ", "trilionu "},
  20.             {"kvadrilion ", "kvadriliony ", "kvadrilionu "},
  21.             {"kvintilion ", "kvintiliony ", "kvintilionu "}};
  22.  
  23.         vychod = stovky[tricisla / 100];
  24.         tricisla = tricisla % 100;
  25.  
  26.         if (tricisla > 0 && tricisla <= 19) {
  27.             if (tricisla >= 5 && tricisla <= 19) {
  28.                 vychod = vychod + jednicky[tricisla] + neco[rang][2];
  29.             }
  30.             if (tricisla >= 3 && tricisla <= 4) {
  31.                 vychod = vychod + jednicky[tricisla] + neco[rang][1];
  32.             }
  33.             if (tricisla == 2) {
  34.                 if (rang == 0 || rang == 3) {
  35.                     vychod = vychod + jednicky[tricisla] + neco[rang][1];
  36.                 } else {
  37.                     vychod = vychod + jednicky2[tricisla] + neco[rang][1];
  38.                 }
  39.             }
  40.             if (tricisla == 1) {
  41.                 if (rang == 0 || rang == 3) {
  42.                     vychod = vychod + jednicky[tricisla] + neco[rang][0];
  43.                 } else {
  44.                     vychod = vychod + jednicky2[tricisla] + neco[rang][0];
  45.                 }
  46.             }
  47.         } else {
  48.             if (rang == 0 || rang == 3) {    //женский род
  49.                 vychod = vychod +desitky[tricisla / 10] + jednicky[tricisla % 10] + neco[rang][2];
  50.                 if(tricisla%10>=2 && tricisla%10<=4){                          //исправление для 22 милиарда
  51.                 vychod = desitky[tricisla / 10] + jednicky[tricisla % 10] + neco[rang][1];  
  52.                 }
  53.             }
  54.             else {
  55.                 vychod =  vychod + desitky[tricisla / 10] + jednicky2[tricisla % 10] + neco[rang][2];
  56.             }
  57.         }
  58.  
  59.         return vychod;
  60.     }
  61.  
  62.     public static void main(String[] args) {      
  63.         System.out.println("Vvedite cislo");
  64.         String rad = "";
  65.         long cislo = sc.nextLong();
  66.         if(cislo<0) {
  67.             cislo=Math.abs(cislo);
  68.            System.out.print("minus ");
  69.         }
  70.         if(cislo==0)
  71.             System.out.print("nula");
  72.         //if(cislo==null) {
  73.         //   throw new IllegalArgumentException("chyba");
  74.      //  }
  75.         int rang = 0;
  76.         long cisloL = 0;
  77.         do {
  78.             cisloL = cislo % 1000;
  79.             if (cisloL != 0) {
  80.                 rad = pisTriCislice((int) (cisloL), rang) + rad;
  81.             }
  82.             cislo = cislo / 1000;
  83.             rang++;
  84.         } while (cislo != 0);
  85.  
  86.         System.out.println(rad);
  87.     }
  88. }
RAW Paste Data
Top