IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
petr.chatar.anton:10.9.2014 15:38

Ahoj,
v knize Mistrovství JAVA mám tento kód:

package switchtest;

import java.io.*;


public class SwitchTest {

    public static void main(String[] args) throws IOException {

                char choice;

                do {
                        System.out.println("Napoveda pro: ");
                        System.out.println(" 1. if");
                        System.out.println(" 2. switch");
                        System.out.println(" 3. while");
                        System.out.println(" 4. do-while");
                        System.out.println(" 5. for\n");
                        System.out.println("Vyberte jednu volbu:");
                        choice = (char) System.in.read();
                } while( choice < '1' || choice > '5');

                System.out.println("\n");

                switch(choice) {
                case '1':
                        System.out.println("Prikaz if:\n");
                        System.out.println("if(podminka) prikaz;");
                        System.out.println("else prikaz;");
                        break;
                case '2':
                        System.out.println("Prikaz switch:\n");
                        System.out.println("switch(vyraz) {");
                        System.out.println(" case konstanta:");
                        System.out.println(" posloupnost prikazu");
                        System.out.println(" break;");
                        System.out.println(" //...");
                        System.out.println("}");
                        break;
                case '3':
                        System.out.println("Prikaz while:\n");
                        System.out.println("while(podminka) prikaz;");
                        break;
                case '4':
                        System.out.println("Prikaz do-while:\n");
                        System.out.println("do {");
                        System.out.println(" prikaz;");
                        System.out.println("} while (podminka);");
                        break;
                case '5':
                        System.out.println("Prikaz for:\n");
                        System.out.print("for(pocatek; podminka; iterace)");
                        System.out.println(" prikaz;");
                        break;
                }
        }
    }

Programy si procvičuju v NetBeans, ale to mi řve na tenhle řádek:
public static void main(String[] args) throws IOException
Poradíte mi, prosím, co mám špatně?

 
Odpovědět
10.9.2014 15:38
Avatar
Odpovídá na petr.chatar.anton
petr.chatar.anton:10.9.2014 16:29

Už jsem na to přišel, neumím to ale vysvětlit :( Nějakým způsobem se mi povedlo dostat třídu java.io jako balíček do Source packages projektu. Stačilo ji tam smazat a rázem všechno chodí, jak má.

 
Nahoru Odpovědět
10.9.2014 16:29
Avatar
Odpovídá na petr.chatar.anton
Michal Žůrek - misaz:10.9.2014 16:33

spíš bych řekl, že jsi neměl importovouna IOException

 
Nahoru Odpovědět
10.9.2014 16:33
Avatar
Odpovídá na Michal Žůrek - misaz
petr.chatar.anton:11.9.2014 8:23

No to sem měl, hned druhý řádek. Když jsem importoval java.io.IOExcep­tion, nelíbilo se mu to IOException. Jakmile jsem odstranil ten balíček java.io, bylo to najednou v pořádku.

 
Nahoru Odpovědět
11.9.2014 8:23
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:11.9.2014 12:24

Nezkoušel jsi smazat onen řádek s importem ?
NetBeans ti pak vyhodí "alert" u řádku, kde používáš věc, co nemáš importlou, a nabídne import, možná by to pomohlo :)

Tohle je divný, chápal bych, že .io to nevezme, ale .io.IOExcp jo, jako obráceně (že by to chtělo konkrétně- takhle používáš nadřazenej balíček, kterej má v sobě pak mj. i IOExcp- což ničemu nevadí, ale je to zbytečný- "máš oprávnění víc než potřebuješ" ve smyslu přístupu k třídám v import balíčku)

Nahoru Odpovědět
11.9.2014 12:24
Unix- svět, kde chcete být nulou :) (UID)
Avatar
Odpovídá na xxxvodnikxxx
petr.chatar.anton:11.9.2014 12:48

No přesně takhle jsem to dělal, ale nějak sem ho uklikal k smrti. Říkám, neumím vysvětlit, jak se mi povedlo ten java.io dostat jako balíček, ale povedlo, no.

 
Nahoru Odpovědět
11.9.2014 12:48
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:11.9.2014 13:47

Tak ono to jde (myslim, že i v jave :D), ale jak jsem psal, je to víceméně zbytečný...

např. v C# je jmennej prostor std, ve kterým je např. cin pro čtení a cout pro výpis, ekvivalence pro import se dá udělat buďto
using std, nebo přímo using std::cout;

Nahoru Odpovědět
11.9.2014 13:47
Unix- svět, kde chcete být nulou :) (UID)
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:11.9.2014 15:53

petr.chatar.anton : jinak podle toho tvýho obrázku to vypadá, že to hledá nějakou tvojí třídu "IOException", nevim proč :D

Jinak tady máš postup jak jsem psal, a jde to ok ..

  • nahoře smazat import, následně i za názvem metody throws IOException
  • dole ti vyskočí alert, že to může vyhazovat vyjímku
  • po nakliknutí ti to nabídne možnosti (je vcelku jedno co uděláš, já dal add throws clausule)
  • když dáš to samý, nahoře ti přibyde throws IOException a import taky :)

a pokud načítáš znak, tak je to asi lepší upravit takhle

//...
 char volba;
 Scanner vstup = new Scanner(System.in);

 volba = vstup.next().charAt(0);
//...
Nahoru Odpovědět
11.9.2014 15:53
Unix- svět, kde chcete být nulou :) (UID)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.