Zaciatocnik - kontrola kodu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zaciatocnik - kontrola kodu – Java – Fórum – Programujte.comZaciatocnik - kontrola kodu – Java – Fórum – Programujte.com

 

jonhnw0
Newbie
6. 10. 2012   #1
-
0
-

Ahojte mam za ulohu :

Přečtěte dvě celá čísla a zeptejte se, jakou operaci s nimi máte provést (+, -, *, přesné dělení, celočíselné dělení a zbytek po celočíselném dělení). Vytiskněte výsledek. Pozor na dělení nulou u operací dělení a zbytek po dělení! Pokud dojde k zadání chybného čísla operace, vypište upozornění na obrazovku. Použijte příkaz switch !!! Nezařazujte cyklus.

no a toto je moj vytvor : 

public class uloha {
  
 
 
 	 /* Vrati chybne zadane cislo
	 */
	public static int ctiI() {
		int i = 0;
		byte[] pole = new byte[10];
		boolean nacteno = false;
		do {
			try {
				System.in.read(pole);
				String vstup = new String(pole).trim();
				i = Integer.valueOf(vstup).intValue();
				nacteno = true;
			} catch (Exception e) {
				System.out.print("Chybne, zadajte cele cislo: ");
			}
		} while (!nacteno);
		return i;
	}
	
	public static int ctiJ() {
		int cislo = 0;
		byte[] pole = new byte[10];
		boolean nacteno = false;
		do {
			try {
				System.in.read(pole);
				String vstup = new String(pole).trim();
				cislo = Integer.valueOf(vstup).intValue();
				nacteno = true;
			} catch (Exception e) {
				System.out.print("Chybne, zadajte cele cislo: ");
			}
		} while (!nacteno);
		return cislo;
	}
	
	
	
        
        
	
 public static void main(String[] args){
     
     int cisloOperace;
   
 
        System.out.print("Zadaj 1. cislo: ");       //Zada prve cislo
        int i =ctiI();                            
        System.out.print("Zadaj 2. cislo: ");       //Zada druhe cislo
        int j =ctiJ();
        
        
        System.out.println("1. sčítanie čísel\n2. odčítanie čísel\n3. násobenie čísel\n4. presné delenie čísel\n"
                + "5. celočíselné delenie\n6. Zostatok po celočíselnom delení");
        System.out.print("Zdajte číslo požadovanej operácií: ");
        cisloOperace = ctiI();
        
        switch(cisloOperace) {
            case 1:
                System.out.println("Výsledok po sšítaní je: " +(i+j));
                break;
            case 2:
                System.out.println("Výsledok po odčítaní je: " +(i-j));
                break;
            case 3:
                System.out.println("Výsledok po znásobení je: " +(i*j));
                break;
            case 4:
                if (j == 0) {
         System.out.println("Čsilom nula sa nedá deliť!");
     }
                else {
         System.out.println("Výsledok po presnom delení je: " +((float)i/j));
     }
                break;
            case 5: 
                if (j==0) { 
         System.out.println("Číslom nula sa nedá deliť!");
     }
         
                else {
         System.out.println("Výsledok po celočíselnom delení je: " +(i/j));
     }
                break;
            case 6:
                if (j==0) { 
         System.out.println("Číslom nula sa nedá deliť!");
     }
         
                else {
         System.out.println("Zostatok po celočíselnom delení je: " +(i%j));
     }
                break;
            
            default:
                System.out.println("Chybne ste zadali číslo požadovanej operácií!");
                break;
     
                }
        }
        
                }

chcem sa opytat, ci sa vam to pozdava, ale v prostredi NetBeans mam vystup v poriadku ale v JCreator mi to spravi toto:

Zadaj 1. cislo: 5
Zadaj 2. cislo: 6
1. sčítanie čísel
2. odčítanie čísel
3. násobenie čísel
4. presné delenie čísel
5. celočíselné delenie
6. Zostatok po celočíselnom delení
Zdajte číslo požadovanej operácií: Chybne, zadajte cele cislo:

to Chybne, zadajte cele cislo, by sa tam nemalo ukazovat.

Dakujem za rady, a pripadne vylepsovaky :)

 

Nahlásit jako SPAM
IP: 92.52.51.–
host
~ Anonymní uživatel
17 příspěvků
7. 10. 2012   #2
-
0
-

no první vylepšení je,že bych přepracoval to čtení .. obecně platí, že jakmile se kod opakuje, měl by se předělat. A koukni na tvoje metody <i>ctiI , ctiJ</i> ty jsou v podstatě totožné. Navíc přece metoda System.in.read() je přetížená, takže není nutné načítat pole bytů a to potom převádět.

To, že ti to každý komplilátor přelozí jinak není žádná novinka, zkusil bych to načítání předělat jenom metodou system.in.read() a uvidíš jak to půjde

+ system.in.read je blokovací operace, takže dle mě nemusíš to mít v cyklu

Nahlásit jako SPAM
IP: 213.129.139.–
zlz
~ Anonymní uživatel
634 příspěvků
7. 10. 2012   #3
-
0
-

Jak dlouho jsi na tom dělal, než jsi to sem vrazil? To načítání čísel máš blbě.

#2 host
Tady se člověk dozví věci...

Nahlásit jako SPAM
IP: 80.188.216.–
jonhnw
~ Anonymní uživatel
20 příspěvků
7. 10. 2012   #4
-
0
-

a zle tam je to , ze tie triedy ctiI a ctiJ su dve? alebo co je tam presne zle? dik

Nahlásit jako SPAM
IP: 92.52.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 31 hostů

Podobná vlákna

Kontrola kódu OOP C++ — založil Yenkee

Začiatočník — založil luko8525

C++ (začiatočník) — založil Patrik

C zaciatocnik — založil janik366

Moderátoři diskuze

 

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