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

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

 

Příspěvky odeslané z IP adresy 147.32.104.–

Java › Převod desetinného čísla do…
12. 10. 2012   #164524

   

package prevodCisla;


public class prevodCisla {
  public static double[] rozdeleniCisla(final double cislo){
      int celaCast = (int)cislo;
      double zbytek = cislo - celaCast;
     
      double[] rozdeleneCislo = new double[2];
      rozdeleneCislo[1] = 0;
      rozdeleneCislo[0] = celaCast;
      rozdeleneCislo[1] = zbytek;
     
      return rozdeleneCislo;
  }
 
  public static String prevodCisla(final double cislo, final int soustava){
      if(soustava<2 || soustava>36) {
          throw new IllegalArgumentException("Neplatna soustava"+soustava);
      }
      String vysledek = "";
      double cisloPoRozdeleni[] = rozdeleniCisla(cislo);
     
      if(cisloPoRozdeleni[1] == 0){
//cele cislo
       while(cisloPoRozdeleni[0] != 0){
           (int)double zbytekPoDeleni = cisloPoRozdeleni[0] % soustava;
           cisloPoRozdeleni[0] = cisloPoRozdeleni[0]/soustava;
           vysledek = vysledek+zbytekPoDeleni;
       }  
      }
      else{
//desetinne cislo
        String vysledek1="";
        String vysledek2="";
        while(cisloPoRozdeleni[0] != 0){
            //prevod cele casti
           double zbytekPoDeleni = cisloPoRozdeleni[0] % soustava;
           cisloPoRozdeleni[0] = cisloPoRozdeleni[0]/soustava;
           vysledek1 = vysledek+zbytekPoDeleni;
       } 
        //prevod desetinne casti
        for (int i = 0; i < 10; i++) {
        while(cisloPoRozdeleni[1] != 0){
           
                double meziVysledek = cisloPoRozdeleni[1]*2;
                double rozdelenyMeziVysledek[] =  rozdeleniCisla(meziVysledek);
                vysledek2 = vysledek2+rozdelenyMeziVysledek[0];
                cisloPoRozdeleni[1] = rozdelenyMeziVysledek[1];
        
       }
      }
        vysledek = vysledek1+"."+vysledek2;
      }
     
      return vysledek;
  }
 
    public static void main(String[] args) {
      String vysledek;
        vysledek = prevodCisla(10,2);
        System.out.println("Vysledek="+vysledek);
    }
}

Mohl by mi někdo jen tak zběžně říci, jestli mám ten skript správně, jde mi hlavně o tu část, kde se převádí desetinné číslo, protože tam si nejsem úplně jistý správností algoritmu?

Díky moc za odpověď

Noif
Java › String v Ménu Promené
19. 12. 2011   #151479

#4 liborb
Ano ... :D

pak by to melo vypsat vsechny k"x" promeny postupne. byl bych moc vdecnej za pomoc.

Noif
Java › String v Ménu Promené
19. 12. 2011   #151474

#2 crazy
Byl to příklad ... v tomhle pripade pole pouzit nemuzu.

Noif
Java › String v Ménu Promené
19. 12. 2011   #151465

Potrebuju prosim poradit ...

chci aby toto vypsalo cisla od 1 az 7 touto metodou ...je to priklad ...vim ze by se to dalo jinak ..ale chci aby to vypisovalo promenou podle mena ze stringu + K

int k1 = 1;
    int k2 = 2;
    int k3 = 3;
    int k4 = 4;
    int k5 = 5;
    int k6 = 6;
    int k7 = 7;
    int e = 0;
    String nazev;
   
   while(e<7){
       e++;
nazev=([k]+[e]);
            System.out.println(nazev);

flex
C / C++ › Pomoc s programem ...
20. 10. 2011   #148927

#13 Bublina
Nechodíš na přednášky a prosemináře? Zrovna tohle jsme brali první týdny ;) Podívej se na Edux na příklady ze třetího prosemináře...

 

 

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