[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Convertor

Registrovaný: 31.03.10
Prihlásený: 31.12.20
Príspevky: 1014
Témy: 83 | 83
Bydlisko: Košice
NapísalOffline : 28.11.2013 14:17 | Convertor

Zdravim, spravil som len taky jednoduchy program na prevody a pri prvych dvoch prevodoch mi vypocita a spravi aj else a pri tretom prevode spravi normalne.
Viete mi povedat co je zle?
Dakujem
Kód:
package skuska;

import java.util.Scanner;

/**
 *
 * @author Sam
 */
public class Celzius {
    public static void main(String[] args){
    float f;
    float c;
   
    String vstup;
   
    System.out.println("Ak chces prevod z Farenheita na Celzius zadaj f ");
    System.out.println("Ak chces prevod z Celzia na Farenheit zadaj c ");
    System.out.println("Ak chces prevod z Celzia na Kelvina zadaj k ");
   
    Scanner sc = new Scanner(System.in);
    vstup = sc.next();
   
   
    if("f".equals(vstup)) {
   
    Scanner scanner = new Scanner(System.in);
   
   System.out.println("Zadaj stupne farenheita : ");
 
    f = scanner.nextInt();
    c = (5*(f-32)) / 9;
    System.out.println("Stupne celzia su: "+ c);
    }
    if("c".equals(vstup)) {
    float fa;
    float ce;
   
    System.out.println("Zadaj stupne Celzia : ");
   
    Scanner sken = new Scanner(System.in);
    ce = sken.nextInt();
    fa = ((9*ce) / 5) + 32;
    System.out.println("Stupne farenheita su " + fa);
    }
    if("k".equals(vstup)) {
    float kel;
    float cel;
    float kons = (float) 273.15;
     System.out.println("Zadaj stupne Celzia : ");
     Scanner sken = new Scanner(System.in);
    cel = sken.nextInt();
    kel = kons + cel;
    System.out.println("Stupne farenheita su " + kel);
    }
    else {
    System.out.println("Chyba v zadavani!");
    }
    }
   
}


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 28.11.2013 14:36 | Convertor

Ja tam vidím len jeden else. To je na prt, lebo sa to správa takto:

1.) Zadám f, prejdem do podmienky if(vstup je f), vypíšem správny výsledok, hneď potom skontrolujem podmienku if(vstup je c), do tejto podmienky nejdem, za tým skontrolujem podmienku if(vstup je k), do tejto podmienky tiež nejdem, ale tam je else, takže vypíšem chybný vstup.

2.) Zadám c, to isté - do podmienky na f nejde, za tým kontrolujem c, do podmienky s c idem, vypíšem správny výsledok, za tým kontrolujem k, do tej podmienky nejdem, ale tam je else, tak vypíšem chybný vstup.

3.) Zadám k, prvé dve podmienky prejdem, nejdem do nich, prídem k podmienke s k, do nej vojdem, vypíšem správny vstup a skončím.

Riešením je za každú podmienku dať else, aby sa určite vždy vykonal len jeden blok ;)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.11.12
Prihlásený: 29.04.14
Príspevky: 22
Témy: 6 | 6
NapísalOffline : 07.12.2013 18:42 | Convertor

Efektívnym riešením v tomto prípade by bol 'switch'. Prevody by si hodil do príslušných 'case' blokov, pričom chybové hlásenie z 'else' by si hodil do 'default' bloku. ;)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.12.13
Prihlásený: 17.03.16
Príspevky: 13
Témy: 3 | 3
NapísalOffline : 07.12.2013 19:58 | Convertor

To else plati len pre if("k".equals(vstup)) takže keď spravíš výpočet 1 alebo 2 pre výpočet 3 je to chyba.
Sprav else k každému výpočtu else { a++}, a na koniec daj if (a=3){ System.out.println("Chyba v zadavani!");} .
A ošetrysi premenu na začiatku programu a=0;
PS: nauč sa úpravu zdrojáku zle sa číta.


 [ Príspevkov: 4 ] 


Convertor



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Convertor

v Video programy

4

713

28.07.2009 16:14

Enermax

V tomto fóre nie sú ďalšie neprečítané témy.

AMR convertor

v Audio programy

3

918

01.05.2008 21:11

PLaYeR

V tomto fóre nie sú ďalšie neprečítané témy.

video convertor

v Audio programy

3

795

23.06.2008 20:02

prandof

V tomto fóre nie sú ďalšie neprečítané témy.

nejaky AMV convertor???

v Video programy

0

414

06.03.2010 19:43

Le_Filipe

V tomto fóre nie sú ďalšie neprečítané témy.

dbf to txt convertor

v Ostatné programy

2

747

31.03.2007 18:39

smolkop

V tomto fóre nie sú ďalšie neprečítané témy.

DOCX to HTML convertor

v HTML, XHTML, XML, CSS

4

747

06.09.2009 20:55

Blackshadow



© 2005 - 2025 PCforum, edited by JanoF