Avatar
petr.chatar.anton:

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:

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  +1 10.9.2014 16:29
Avatar
Odpovídá na petr.chatar.anton
Michal Žůrek (misaz):

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

Nahoru Odpovědět 10.9.2014 16:33
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
petr.chatar.anton:

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:

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:

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:

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:

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.