Java - pomoc s príkazom if else

Programovacie jazyky, rady, poradňa...
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Zdravím. Chcem spraviť takýto program: zadáte číslo a program vám vypíše znak z ASCII tabuľky ktorý zodpovedá vami zadanému číslu.
Napr. keď zadáte 33 tak vám vypíše ! alebo keď zadáte 50 tak vám vypíše 2.
Chcem tam ale zapracovať príkaz if-else a to tak, že keď zadáte záporné číslo tak aby vám program dal šancu znova zadať číslo. Dostal som sa do takého štádia, že keď zadáte záporné číslo, tak vás na to program upozorní a dá vám ešte raz zadať číslo. Lenže keď druhý krát zadám číslo tak sa mi vypíše iba to číslo, a nie aj prislúchajúci znak v ASCII.
Zdroják:
import java.util.Scanner;

public class ASCII_cez_if_else
{
public static void main(String[]args)
{
int i;
char c;
Scanner vst=new Scanner(System.in);
System.out.println("Zadajte poradove cislo prvku v ASCII tabulke: ");
i=vst.nextInt();
c=(char)i;
if(i<0)
{
System.out.printf("Zadajte kladne cislo a bez desatinnej ciarky.\nNa poziciach 0 az 32 sa nachadzaju prazdne znaky. Zadajte cislo vacsie nez 32.\n");
i=vst.nextInt();
}
else
System.out.println("Na pozicii "+(int)c+" je znak "+c);
}
}
Vďaka za pomoc.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa c-ice »

vymaz 4 pismena "else" :D
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Nefunguje, zadám záporné číslo, program ma upozorní, zadám znova číslo (či kladné či záporné) a vypíše mi "Na pozicii 65446 je znak (štvrorček)".
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa axxis »

sprav si tam cyklus co sa bude opakovat kym nezada kladne cislo a spracuj ho po tom co program opusti tento cyklus.
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Čiže mám dať do toho cyklu príkaz while?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa harrison314 »

zmen if na while
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Zmenil som a teraz mi píše chybu "else without if". Ale už sa mi to čiastočne poradilo doladiť. Za podmienku v if som dal ešte aj while
if(i<0)
{
while(i<0)
{

System.out.printf("Zadajte kladne cislo a bez desatinnej ciarky.\nNa poziciach 0 az 32 sa nachadzaju prazdne znaky. Zadajte cislo vacsie nez 32.\n");
i=vst.nextInt();
}
}
Teraz už môžem nesprávne čísla zadávať koľko chcem, ale keď zadám kladné, tak mi vypíše len to číslo čo som zadal, ale bez príslušného ASCII znaku. Takže už viem, že chyba nastáva keď sa mi má hodnota z premennej i pretypovať na char a uložiť do premennej c na výstupe. Čo s tým?
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa axxis »

ak pouzijes while ziadny if a else tam nepotrebujes

proste len takto

Kód: Vybrať všetko

do
{
     read cislo;
}while (cislo<0)
println cislo;
(do som pouzil preto, lebo takto cyklus musi najskor prebehnut az potom sa vyhodnocuje co si zadal. v tomto pripade sa to oplati viac ako while)
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Ja viem :) Ale ja to chcem spraviť cez if else. Cez príkaz while som to už spravil včera. Teraz chcem to isté spraviť cez if else. Dá sa to alebo nie?
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa axxis »

Cez if-else to nespravis, resp. spravis, ale cislo si budes moct opravit len 1krat.
A ak to chces silou mocou tak robit tak proste len nepouzi else statement.
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

A to else statement má akú syntax? O čo tam ide?
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa axxis »

macher1 napísal:A to else statement má akú syntax? O čo tam ide?
:D

rob to tak isto ale nenapis tam else, v tomto pripade Ti ho netreba.
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Ok, skúsil som bez else. Stále, keď zadám záporné a potom kladné číslo (akože nesprávnu a potom správnu hodnotu), tak mi vypíše že na pozícií 65459 je znak (štvorček). Akurát že číslo pozície sa zakaždým mení.
Jaaj sakra, myslel si príkaz else :D Aha, sorry. Popri tomto robím aj niečo iné a nevnímam všetky údaje :D
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa weroro »

macher1 napísal:Aha, sorry. Popri tomto robím aj niečo iné a nevnímam všetky údaje :D
s takýmto prístupom nikdy nič poriadne nenaprogramuješ, ak vôbec.
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Java - pomoc s príkazom if else

Príspevok od používateľa macher1 »

Necháp to zle. Tento program som začal robiť už včera v noci a dnes v ňom pokračujem. Tento topic som založil aby mi niekto dal radu ako ho dokončiť. Už v ňom zostáva doladiť len pár posledných vecí.
Zappir
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 498
Registrovaný: 17 aug 2008, 9:38
Bydlisko: Praha / Prievidza

Re: Java - pomoc s príkazom if else

Príspevok od používateľa Zappir »

Kód: Vybrať všetko

import java.util.Scanner;

class Trololo
{
    public static void main(String[] args)
    {
        int cislo=-1;

        Scanner sc = new Scanner(System.in);

        while(cislo<0)
        {
            System.out.println("Zadaj cislo!");
            cislo = sc.nextInt();
        }

        System.out.println("Cislu "+cislo+" pripada znak "+(char)cislo);

    }
}
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa c-ice »

:D vsak else zmazat co som hned prve napisal bolo to co si chcel :D len proste nevieš ... čo si chcel sam ... ako pisal treba cez cyklus ale ty cez while nechces no ...

Kód: Vybrať všetko

import java.util.Scanner;

class Trololo
{
    public static void main(String[] args)
    {
        int cislo=-1;

        Scanner sc = new Scanner(System.in);

        for(;true;)
        {
            if (cislo < 0) {
                        System.out.println("Zadaj cislo!");
                        cislo = sc.nextInt();
            }else{
                        System.out.println("Cislu "+cislo+" pripada znak "+(char)cislo); 
                        break;
            }
        }

        

    }
}
ako je to useless but Whatever
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: Java - pomoc s príkazom if else

Príspevok od používateľa paralen »

To uz by len prekonal zapis pomocou goto :D . Skoda, ze nie je v Jave :cry:
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa harrison314 »

Ono mi to tu zacina pripominat navod "ako robit jednoduche veci zlozito".
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Java - pomoc s príkazom if else

Príspevok od používateľa c-ice »

vidis pome sa vyhnut cyklom ...

Kód: Vybrať všetko

import java.util.Scanner;

class Trololo
{
    Scanner sc;

    public static void main(String[] args)
    {
        int cislo=-1;

        sc = new Scanner(System.in);
        DoIt();
    }

    public void DoIt(){
        System.out.println("Zadaj cislo!");
        int cislo = sc.nextInt();

        if (cislo < 0) {
              DoIt();
        }else{
              System.out.println("Cislu "+cislo+" pripada znak "+(char)cislo);
        }
    }
}
Napísať odpoveď