[Java] Libovolná mocnina čísla.

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod OS 17. 11. 2006 17:38

Ahoj.
Mám program na libovolnou mocninu čísla, ale hází mi to chybu. Na konci, kde dělám výstup na obrazovku.
Kód: Vybrat vše
package testy;
import java.util.Scanner;
public class Mocnina {
    public static void main(String[] args ) {
        Scanner sc = new Scanner(System.in);
        int mocnina = sc.nextInt();
        int cislo = sc.nextInt();
        int vysledek;
        for (int i = 0; i <= mocnina; i++)
        {vysledek = cislo * cislo;
        System.out.println("Vysledek je", + vysledek);}
    }
}


Používám NetBeans. A chyba je
Kód: Vybrat vše
cannot find symbol
symbol : method println......
location : calss.java.....


Děkuji.
OS
Junior

Odeslat příspěvekod AZOR 17. 11. 2006 17:46

imho: čárka tam vadí, za tim "vysldek je".
Jinak na mocinutu je přímo funkce... Math.pow(y,x);
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod Vebloud 17. 11. 2006 17:47

Evidentně nemůže najít System.out.println což je divný, vlastně není, co takhle smazat tu čárku v println:
Kód: Vybrat vše
System.out.println("Vysledek je", + vysledek);}


Nauč se číst chybový hlaěení. Píše ti tam, že nemůže najít metodu println a tu nejdůležitější část jsi sem nedal, protože ti tam píše, že ti přebejvá argument.
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod AZOR 17. 11. 2006 17:48

jo a ty závorky nejsou dobře. takhle to bude tisknout výsledek ve foru. Tzn, tolikrát na kolikátou je to mocninu
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod OS 17. 11. 2006 17:51

Teď zas: variable vysledek might not have been initialized

Jak to, že nebyla inicializována?

Já hlášení čtu, ale nejsem z nich moudrý. :cry:

Oprava: Přehodil jsem závorku a už to fičí. :D :twisted:
OS
Junior

Odeslat příspěvekod OS 17. 11. 2006 18:39

Aha, teď to zkouším a ono to mocninu nepočítá, tedy jo, ale nějak špatně, můžete mi poradit, asi bude chyba v tom cyklu.
OS
Junior

Odeslat příspěvekod miho 17. 11. 2006 18:58

Nech me hadat ;-) Pokazde to vypise druhou mocninu.

Kód: Vybrat vše
for (int i = 0; i <= mocnina; i++)
        { vysledek = cislo * cislo; }


uvedom si co dela ten cyklus:
vypocita cislo*cislo a ulozi do vysledek
vypocita cislo*cislo a ulozi do vysledek
vypocita cislo*cislo a ulozi do vysledek
...

neni divu, ze na konci je ve vysledek hodnota cislo * cislo kdyz to tam mocnina+1 krat usilovne cpes porad stejnou hodnotu ;-)
Oh dear, I really ought to do something. But I am already in my pyjamas...
miho
Hlavní administrátor
Uživatelský avatar

Odeslat příspěvekod imhothep 17. 11. 2006 19:04

Kód: Vybrat vše
      int vysledek = 1; 
        for (int i = 0; i <= mocnina; i++)
        {
           vysledek = vysledek * cislo;
        }


opravte ma ak ee :roll:
imhothep
Kolemjdoucí
Uživatelský avatar

Odeslat příspěvekod miho 17. 11. 2006 19:07

Heeeej, kazis moje didakticke snahy ;-)
Oh dear, I really ought to do something. But I am already in my pyjamas...
miho
Hlavní administrátor
Uživatelský avatar

Odeslat příspěvekod OS 17. 11. 2006 19:14

Jo, díky, prolejzám tady jiné zdrojáky, co mám ze školy a přišel jsem na to. Ale stejně tam mám ještě něco blbě.
2 na 3 asi 16 nebude. :cry:
Kód: Vybrat vše
package testy;
import java.util.Scanner;
public class Mocnina {
    public static void main(String[] args ) {
        Scanner sc = new Scanner(System.in);
        int mocnina = sc.nextInt();
        int cislo = sc.nextInt();
        int vysledek = 1;
        for (int i = 0; i <= mocnina; i++)
        {vysledek = vysledek * cislo;}
        System.out.println("Vysledek je" +vysledek);
    }
}


Kurňa ja Javu budu potřebovat tak 2 semsetry, možná 3. :?
OS
Junior

Odeslat příspěvekod Imjagpul 17. 11. 2006 19:16

nemá tam být <= ale <
Kód: Vybrat vše
package testy;
import java.util.Scanner;
public class Mocnina {
    public static void main(String[] args ) {
        Scanner sc = new Scanner(System.in);
        int mocnina = sc.nextInt();
        int cislo = sc.nextInt();
        int vysledek=1;
        for (int i = 0; i < mocnina; i++) {
            vysledek = vysledek * cislo;
        }
       
        System.out.println(cislo + " na " + mocnina + " = " + vysledek);
    }
}
Imjagpul
Junior
Uživatelský avatar

Odeslat příspěvekod OS 17. 11. 2006 19:18

Imjagpul a všem ostatním: Veliké díky a poklona. :D :D :D :D :D
Moc jste mi pomohli.

Taková drobnost a ono to nejede.

Tak teď jdu smolit funkci. A ještě tohle zadání:
Napište metodu, která pro zadané celé kladné číslo n vrátí největší m takové, že 3 na m<=n. Hodnotu n předejte do metody jako parametr.
To bude makačka na bednu :shock:
OS
Junior

Odeslat příspěvekod OS 17. 11. 2006 19:34

Juchůůůůůů, už mám funkci :twisted:
Kód: Vybrat vše
package testy;
import java.util.Scanner;
public class MocninaFunkce2 {
    static int mocnina (int cislo, int mocnina){
    int vysledek = 1;
        for (int i = 0; i < mocnina; i++)
        {vysledek = vysledek * cislo;}
    return vysledek;
   
    }
   
   
    public static void main(String[] args ) {
    Scanner sc = new Scanner(System.in);
    int cislo = sc.nextInt();
    int mocnina = sc.nextInt();
    System.out.println("Vysledek" +mocnina(cislo,mocnina));   
    }
}


Jinak zlaté FoxPro, tam jsem snad nemusel definovat každou proměnnou a závorky jsem tam flákal, jak mě napadlo. Tady je to takové striktní, člověk se jednou splete a už to blije jednu chybu za druhou. :evil:
OS
Junior

Odeslat příspěvekod AZOR 17. 11. 2006 19:46

já myslim, že by tohle mohlo stačit :


static int funkce(int parametr)
{
return ((int)Math.pow(parametr,0.333334));
}
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod OS 17. 11. 2006 19:48

AZOR: Já nevím, jestli můžem používat matematické funkce, přecijenom se učímé algoritmy, takže cykly, pole, ify atd.
Ale díky.
OS
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků