Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Rozdělení čísla na cifry pomocí pole

Čau, potřeboval bych poradit s kodem . Mám za úkol rozdělit číslo na cifry (př. 123 - 1,2,3), začátek už mám, ale nějak nedokážu číslice vypsat. Byl by někdo ochoten poradit? Díky moc

kod:

import java.util.Scanner;
public class PrikladPole
{
  public static void main (String[] args)
  {
    int cislo;
    int cif;
    int pocet;
    int[] pole;
    
    Scanner scan = new Scanner(System.in);
    System.out.print("Zadej číslo, které chceš rozložit");
    cislo = scan.nextInt();
    pocet = 0;
    
    while(cislo > 0)
    {
      cif = cislo / pocet;
      cislo = cislo/10;
      pocet++;
    }
    pole = new int[pocet];
    
    for(int i = 0; i<pole.length;i++)
    {
      cislo = cislo / 10;
    }    
    for(int j = 0; j<pole.length;j++)
      System.out.print(pole[j] + ", "); 
  }
}
Předmět Autor Datum
Vážně máš jenom problém to vypsat? Nespadne ti to hned na začátku na dělení nulou? A ty předchozí dv…
Wikan 20.03.2021 14:48
Wikan
Po zkompilování mi to normálně vypíše řadu čísel podle počtu (0, 0 ,0), ovšem pouze nuly... Jinak ne…
trny__ 20.03.2021 15:13
trny__
Pred cyklem do Pocet das nulu a hend kousek pod tím delis promennou Pocet Predstav si, ze zadas 123…
Jan Fiala 20.03.2021 15:32
Jan Fiala
Ty předchozí úlohy: https://forum.zive.cz/viewtopic.php?f=922&t=1315089 https://forum.zive.cz/viewto…
Wikan 20.03.2021 15:35
Wikan
Omlouvám se, ale Majkl152 nevím kdo je... každopádně úkol na odhalení nejdelší řady stejných čísel j…
trny__ 20.03.2021 15:38
trny__
To je opravdu dost těžko uvěřitelné.
host 20.03.2021 15:49
host
Nevíš, kdo je? Zvláštní, že jste dostali podobné zadání. A ještě zvláštnější je, že máte v kódu stej…
Wikan 20.03.2021 15:50
Wikan
1. proč tam to dělení děláš ve dvou cyklech? stačí jeden. 2. do toho pole nikde nic neukládáš 3. to…
Wikan 20.03.2021 15:34
Wikan
A mohl byste mě prosím navést ke zdárnému konci? Opravdu za každou radu budu rád
trny__ 20.03.2021 15:51
trny__
Vždyť jsem ti právě poradil, co tam máš špatně.
Wikan 20.03.2021 15:51
Wikan
Ano, to vím a vážíém si toho, ale jak vidíte, a asi si to i myslíte, tak nejsem úplně hacker a v dis…
trny__ 20.03.2021 15:55
trny__
Nemusíš pořád psát, že si toho vážíš. Co bys ale měl dělat, je přečíst si pořádně odpovědi a snažit…
Wikan 20.03.2021 15:57
Wikan
Dobře... omlouvám se, že jste se mnou zbytečně ztrácel čas. Snad už se tady najdou jenom chytří lidé…
trny__ 20.03.2021 15:59
trny__
Tady nejde o to umět to napoprvé. Ale je potřeba projevit snahu a nečekat, že někdo přinese řešení n…
Wikan 20.03.2021 16:02
Wikan
1) celé číslo ktoré chceš rozdeliť , budeš deliť 10 timi až kým nedostaneš 0, počet cyklov = počet j… poslední
sakraforte 20.03.2021 16:52
sakraforte

Pred cyklem do Pocet das nulu a hend kousek pod tím delis promennou Pocet

Predstav si, ze zadas 1234

Pak si predstavujes, ze do pole budes prirazovat cislo, ktere budes delit 10:
cyklus:
Cislo = 1234/10 = 123,4 (dejme tomu, ze prekladac do Integer priradi 123)
Cislo = 123/10 = 12
Cislo = 12/10 = 1

Takze v poli bys dostal 123, 12, 1, 0
Nehlede na to, ze do toho pole to nikde neprirazujes, tak to nebude ocekavany vysledek, ze?
A nehlede na to, ze po prvnim pruchodu ceyklem ti v promenne Cislo toho moc nezbude
Zkus se podivat na zbytek po celociselnem deleni (MODULO). To bude pro tvuj pripad pouzitelnejsi

1) celé číslo ktoré chceš rozdeliť , budeš deliť 10 timi až kým nedostaneš 0, počet cyklov = počet jeho číslic = velkosť pola

2)a potom ho budeš deliť znovu a ukladať zbytky po delení do poľa na pozície, ktoré zodpovedajú miestam
1234/10 123,4 pole [3]=4

3)posledný cyklus vypíše pole [0-3] a medzi to čiarky

vieš spraviť aspoň to 1) ?

Zpět do poradny Odpovědět na původní otázku Nahoru